1.7.2. 长语法
长语法提供了更细粒度的控制
source :config的名称
target :被挂载到容器后的文件名称,默认是/<source>
uid和gid :被挂载到容器的文件的所有者和所属组ID
mode :被挂载到容器中的文件的权限(PS:如果你不熟悉UNIX的权限模式,可以用这个工具 )
下面这个例子将在容器下设置my_config和redis_config,设置权限是0440,所有者和所属组都是103,redis服务不可以访问my_other_config配置
1.8. container_name
自定义容器名称,而不是用默认生成的名称
1.9. depends_on
表示服务之间的依赖关系,服务依赖关系导致以下行为:
docker-compose up 按照依赖顺序启动服务
docker-compose up SERVICE 自动包含服务的依赖
docker-compose stop 按照依赖顺序停止服务
下面的例子中,db和redis会先于web启动,启动web的时候也会创建并启动db和redis,web停止之前会先停止db和redis
注意:depends_on不会等待db和redis启动好了再启动web
1.10. deploy
只有在集群方式部署的时候这个配置才有效
1.10.1. mode
global(每个集群节点只有一个容器) 或者 replicated (指定数量的容器)。默认是 replicated
1.11. env_file
添加一个环境变量文件,可以是单个值或者一个列表
如果同一个变量出现在多个文件中,则后者覆盖前者
1.12. environment
添加一个环境变量,可以覆盖env_file中同名的变量值
1.13. expose
在不将端口发布到主机的情况下公开端口
1.14. image
指定容器从哪个镜像启动,可以是镜像ID,也可以是镜像tag
1.15. network_mode
网络模式
1.16. ports
端口,两种语法
短语法