docker-compose常用的参数使用说明
概述在开发以及测试环境中,一般不使用docker直接启动镜像运行,使用docker-compose.yml或者swarm以及k8s进行容器编排,在此文中,采用docker-compose.yml文件容器编排,该方式适用于较为小型的软件规模,可用于poc或者生产直接部署。...
·
概述
- 在开发以及测试环境中,一般不使用docker直接启动镜像运行,使用docker-compose.yml或者swarm以及k8s进行容器编排,在此文中,采用docker-compose.yml文件容器编排,该方式适用于较为小型的软件规模,可用于poc或者生产直接部署。
services
- 整个服务的最高层,第二层为各应用的名称
image
- 启动的镜像文件名称
command
- 覆盖镜像中CMD内容
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
- 在容器中添加主机解析条目 /etc/hosts
extra_hosts:
- "xiaojinran.win:47.105.38.115"
- 效果:
# cat /etc/hosts
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
更多推荐
已为社区贡献3条内容
所有评论(0)