概述
- 在开发以及测试环境中,一般不使用docker直接启动镜像运行,使用docker-compose.yml或者swarm以及k8s进行容器编排,在此文中,采用docker-compose.yml文件容器编排,该方式适用于较为小型的软件规模,可用于poc或者生产直接部署。
services
image
command
volumes
- 挂载本地文件到容器里面目录,实现数据持久化到宿主机
env_file
- 指向本地的环境变量文件,由于变量会比较多,一般我们使用文件的方式来进行传递,同样地,如果同原先镜像ENV定义的重复,则会覆盖
secrets
- 指向敏感文件,可以直接指定在最高层已定义的secrets的文件,在容器里面会被挂载在/run/secrets/<secret_name>
secrets:
- MYSQL_USER
- MYSQL_PASSWORD
- MYSQL_ROOT_PASSWORD
secrets:
MYSQL_USER:
file: ./.MYSQL_USER
MYSQL_PASSWORD:
file: ./.MYSQL_PASSWORD
MYSQL_ROOT_PASSWORD:
file: ./.MYSQL_ROOT_PASSWORD
extra_hosts
extra_hosts:
- "xiaojinran.win:47.105.38.115"
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
47.105.38.115 xiaojinran.win
172.20.0.2 e85826792f95