1、安装 docker 环境
1 2 3 4 5 6 7 8 9 10 11 | 1)安装 docker curl -sSL https://get.daocloud.io/docker | sh 2)启动服务 systemctl start docker 3)查看服务状态 systemctl status docker 4)设置开机自启动 systemctl enable docker |
官方文档:Install Docker Engine on CentOS | Docker Documentation
2、实现 docker 镜像加速
1 | curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io |
3、安装 docker-compose
1 2 | curl -L https://get.daocloud.io/docker/compose/releases/download/1.27.4/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose |
4、开放指定端口
1 2 3 4 5 | # 请将 * 修改成需要开放的端口(请自行查看 docker-compose.yml 文件中的 ports 属性) firewall-cmd --permanent --zone=public --add-port=*/tcp # 重载防火墙配置 firewall-cmd --reload |
5、将 docker-compose.yml 文件上传至 home 目录下,内容如下
version: "3.8"
services:
redis:
image: redis
container_name: redis
restart: always
ports:
- "6379:6379"
volumes:
- "/home/redis:/data"
command: ["redis-server", "--requirepass", "123456"]
mysql:
image: mysql:5.7
container_name: mysql
restart: always
ports:
- "3306:3306"
volumes:
# 设置容器的服务器时间与宿主机的时间同步
- "/etc/localtime:/etc/localtime"
- "/home/mysql/data:/var/lib/mysql"
- "/home/mysql/mysqld.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf"
environment:
- MYSQL_ROOT_PASSWORD=123456
command: ["--character-set-server=utf8", "--collation-server=utf8_general_ci"]
rabbitmq:
image: rabbitmq:3.8.9-management
container_name: rabbitmq
restart: always
hostname: xinyzm_rabbit
ports:
- 15672:15672
- 5672:5672
environment:
- RABBITMQ_DEFAULT_USER=root
- RABBITMQ_DEFAULT_PASS=123456
# docker network create yourName -> 使用桥接方式支持多容器之间可以正常通信
networks:
default:
external:
name: yourName
6、根据 docker-compose.yml 文件的 volumes 属性创建目录或上传文件到指定目录(只关注 home 目录相关)
以 “/home/tomcat/conf/server.xml:/usr/local/tomcat/conf/server.xml”为例,根据这句脚本命令,我们需要在 home 目录下创建 tomcat 目录,然后在 tomcat 目录下创建 conf 目录,进入到 /home/tomcat/conf 目录,将 server.xml 文件上传到当前目录
7、创建网络实现各容器之间的正常通信
1 | docker network create arfysica |
8、执行 docker-compose.yml 文件
1 2 3 | cd /home docker-compose up -d |
9、查看容器是否启动成功
1 | docker ps |
10、执行 SQL 脚本
(1)使用可视化 SQL 工具(推荐使用 navicat)
(2)连接数据库,数据库密码自行查看 docker-compose.yml 文件的 MYSQL_ROOT_PASSWORD 属性
(3)连接成功后,执行 SQL 脚本
11、服务应用升级
1 2 | # 直接将新的应用包替换原来的,如果是后端升级再执行下面的命令,前端升级直接替换即可 docker restart tomcat |
附:
如果在首次安装启动服务时,后端应用访问异常,可能原因是当前应用在启动加载过程中需要访问数据库,这时数据库并不存在,从而导致服务异常,只需要重启服务即可,执行 docker restart tomcat 命令