
js服务器1:192.168.24.128
服务器2:192.168.24.129
服务器3:192.168.24.130
jsvi /etc/hosts
js
192.168.24.128 songxuan001
192.168.24.129 songxuan002
jsservice firewalld stop
jsswapoff -a
jsvim /etc/fstab # 注释 swap 行
jsyum install ntpdate -t
jsntpdate -u ntp.aliyun.com
jsyum install -y yum-utils device-mapper-persistent-data lvm2
jsyum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安装containerd
jsyum install -y containerd.io cri-tools
配置containerd
jscat > /etc/containerd/config.toml <<EOF
disabled_plugins = ["restart"]
[plugins.linux]
shim_debug = true
[plugins.cri.registry.mirrors."docker.io"]
endpoint = ["https://frz7i079.mirror.aliyuncs.com"]
[plugins.cri]
sandbox_image = "registry.aliyuncs.com/google_containers/pause:3.2"
EOF
ymlversion:"3.0"
services:
app:
bulid:./ #默认指定dockerfile上下文目录
或
ymlversion:"3.0"
services:
app:
bulid:
context:./
dockerfile::xxx #指定项目名称
ymlversion:"3.0"
services:
tomcat:
image:tomcat:8.0
ports:
- "8080:8080"
app:
bulid:./ #默认指定dockerfile上下文目录
depends_on:
-tomcat #依赖服务,得先启动了tomcat,该服务才会启动。
ymlversion:"3.0"
services:
mysql:
image:mysql:5.6
ports:
- "3306:3306"
#environment: #指定环境
# - "MYSQL_ROOT_PASSWORD=123456"
env_file:
- ./.env
注意
为了保护隐秘性,env_file去会去找上下文目录的.env文件,env文件内正常写: MYSQL_ROOT_PASSWORD=123456

bashcurl -L https://get.daocloud.io/docker/compose/releases/download/1.25.5/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
jschmod 777 /usr/local/bin/docker-compose
ymlversion:"3.0"
services:
tomcat:
#container_name:tomcat01 #指定一个名称 不推荐使用
image:tomcat:8.0 #代表使用哪个镜像。
ports: #映射端口号。
- 8080:8080
mysql:
image:mysql:5.6
ports:
- "3306:3306"
environment: #指定环境
- "MYSQL_ROOT_PASSWORD=123456"
volumes: #数据卷
# - /root/test:/var/lib/mysql #绝对路径方式,但需要提前创建好挂载目录。
- mysqldata:/var/lib/mysql #别名挂载,需要去声明数据卷别名。
volumes:
mysqldata: #生命数据卷别名

相关信息
jsFROM :当前镜像是基于哪个镜像的 第一个指令必须是FROM
MAINTAINER :镜像的维护者姓名和邮箱
RUN :构建镜像时需要运行的指令
EXPOSE :当前容器对外暴露的端口号
WORKDIR :指令在创建容器后,终端默认登录进来的工作目录,一个落脚点
ENV :用来在构建镜像过程中设置环境变量
ADD :将宿主机目录下的文件拷贝进镜像且ADD命令会自动处理URL和解压tar包
COPY :类似ADD,宝贝文件和目录到镜像中,将从构建上下文目录中的原路径文件目录复制到新的一层的镜像内的目标路径位置
VOLUME :容器数据卷
CMD :指定一个容器启动时要运行的命令,Dockerfile中可以有多个CMD指令,但只有最后一个生效,CMD会被docker run之后的参数替换
ENTRYPOINT :指定一个容器启动时要运行的命令,和CMD一样。