首页 技术 正文
技术 2022年11月12日
0 收藏 924 点赞 4,206 浏览 3839 个字

1. 安装docker

Docker 要求 CentOS 系统的内核版本高于 3.10 ,首先验证你的CentOS 版本是否支持 Docker 。通过 uname -r 命令查看你当前的内核版本

  1. 使用 yum 安装docker

    yum -y install docker

  1. 启动 Docker 服务

    systemctl start docker

  1. 设置开启启动

    systemctl enable docker

    4. 验证是否安装成功

    docker version

2. docker常用命令

  1. 启动已停止运行的容器:docker start ID
  2. 停止容器:docker stop <容器 ID>
  3. 重启容器:docker restart ID
  4. 删除容器:docker rm -f <容器 ID>
  5. 进入容器:docker exec -it 应用名 bash
  6. 查看运行的容器状态:docker ps
  7. 查看所有容器状态(包括未运行的):docker ps -a
  8. docker cp e0d9c2a11847:/var/lib/mysql /usr/local/ 将docker里面的文件复制出来
  9. 在docker中安装vim

    apt-get update    apt-get install vim    (说明:命令中的ID都可以用容器名称NAMES代替)

3. 安装mysql5.7并进行文件挂载

  1. 拉取mysql镜像    docker pull mysql:5.7  2. 启动测试mysql,复制配置文件到宿主机(先启动测试mysql,目的是为了将配置文件复制出来)     docker run –name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7    配置文件必须要宿主已经存在,才能正常启动,所以创建文件夹,然后复制配置文件出来    mkdir -p /opt/docker/mysql/conf    docker cp mysql:/etc/mysql/mysql.conf.d/mysqld.cnf /opt/docker/mysql/conf    (注意:mysql5.7的默认配置文件不是/etc/my.cnf也不是/etc/mysql/my.cnf,而是/etc/mysql/mysql.conf.d/mysqld.cnf)  3. 删除测试mysql,重新启动mysql,并挂载配置文件和data    删除测试mysql    docker rm -f mysql    重新启动mysql    docker run -d -p 3306:3306 –privileged=true –restart always -v /opt/docker/mysql/conf/mysqld.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf -v /opt/docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 –name mysql mysql:5.7 –character-set-server=utf8mb4 –collation-server=utf8mb4_general_ci参数说明:run:运行一个容器-d:表示后台运行-p:表示容器内部端口和服务器端口映射关联–privileged=true:设值MySQL 的root用户权限, 否则外部不能使用root用户登陆–restart always:设置开机启动-v /opt/docker/mysql/conf/mysqld.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf:将宿主机中的mysqld.cnf配置映射到docker中的/etc/mysql/mysql.conf.d/mysqld.cnf-v /opt/docker/mysql/data:/var/lib/mysql:同上,映射数据库的数据目录, 避免以后docker删除重新运行MySQL容器时数据丢失-e MYSQL_ROOT_PASSWORD=123456:设置MySQL数据库root用户的密码–name mysql:设值容器名称为mysqlmysql:5.7:表示从docker镜像mysql:5.7中启动一个容器–character-set-server=utf8mb4 –collation-server=utf8mb4_general_ci:设值数据库默认编码和默认排序规则

4. 安装redis并进行文件挂载

  1. 拉取redis镜像    docker pull redis  2. 在宿主机中创建redis.conf配置文件    创建配置文件路径    mkdir -p /opt/docker/redis/conf    将配置文件放到该目录下,配置文件根据自己的版本,自行到官网下载。如何查看自己的redis版本:进入redis容器,执行redis-server -v即可。    附上官网配置文件地址:https://redis.io/topics/config  3. 启动redis    docker run -d –privileged=true -p 6379:6379 –restart always -v /opt/docker/redis/conf/redis.conf:/etc/redis/redis.conf -v /opt/docker/redis/data:/data –name redis redis redis-server /etc/redis/redis.conf –appendonly yes –requirepass “123456”-d:以守护进程的方式启动容器-p:绑定宿主机端口–name myredis: 指定容器名称–restart always:开机启动–privileged=true:提升容器内权限-v /opt/docker/redis/conf/redis.conf:/etc/redis/redis.conf:映射配置文件-v /opt/docker/redis/data:/data:映射数据目录redis-server /etc/redis/redis.conf:在容器里执行redis-server命令,以挂载的配置文件启动–appendonly yes:打开redis持久化–requirepass:密码  4. 开启远程连接    此时我们的redis虽然启动成功了,但是远程还无法连接。此时将/opt/docker/redis/conf/redis.conf文件中的bind 127.0.0.1注释掉。正好验证下挂载的配置文件是否生效。然后重启redis,重启之后,如果能够进行远程连接,则说明大功告成。

5.安装nginx并进行文件挂载

  1. 拉取nginx镜像    docker pull nginx:latest  2. 启动测试nginx容器    docker run –name nginx -p 80:80 -d nginx    直接在浏览器输入宿主机的ip,出现如下界面,则说明启动成功  3. 复制配置文件到宿主机    先创建文件夹    mkdir -p /opt/docker/nginx/{conf,conf.d,html,log}    然后复制对应的配置文件到宿主机    docker cp nginx:/etc/nginx/nginx.conf /opt/docker/nginx/conf    docker cp nginx:/etc/nginx/conf.d/default.conf /opt/docker/nginx/conf.d    docker cp nginx:/usr/share/nginx/html /opt/docker/nginx  4. 启动nginx    先删除测试的nginx容器    docker rm -f mysql    重新启动nginx    docker run –name nginx -p 80:80 -v /opt/docker/nginx/html:/usr/share/nginx/html -v /opt/docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /opt/docker/nginx/log:/var/log/nginx -v /opt/docker/nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf -d nginx

  5. 部署项目

    将打包好的前端项目放到/opt/docker/nginx/html,重启nginx即可。nginx配置文件具体细节这里就不讲了。    最后启动springboot项目(注意别忘记安装jdk),我是直接在宿主机启动的,如果想放到docker中,参考这篇文章https://www.jianshu.com/p/397929dbc27d    docker run -d -p 8080:8080 -e TZ=”Asia/Shanghai” -v /etc/localtime:/etc/localtime:ro -v /opt/app/logs:/home/app/logs springboot    (启动的时候要指定容器时间和宿主时间一致,并挂载日志的路径)

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,907
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,432
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,247
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,058
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,690
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,727