Docker Compose将配置从原始服务复制到本地。如果在原始服务和本地服务中都定义了配置选项,则本地值将替换或扩展原始值。
对于诸如command的单值选项,新值将替换旧值。
原始服务
command: Python app.py
本地服务
command: Python otherapp.py
结果
command: Python otherapp.py
build和image在撰写文件版本1中
如果原始服务定义了image: webapp,而本地服务定义了build: .那么结果服务将具有a build: .和noimage选项。
这是因为build和image不能在版本1文件中一起使用。
对于多值的选项ports,expose,external_links,DNS,DNS_Search,和tmpfs,撰写串接两组的值:
原始服务
expose:
– “3000”
本地服务
expose:
– “4000”
– “5000”
结果
expose:
– “3000”
– “4000”
– “5000”
在的情况下environment,labels,volumes,和devices,撰写“合并”的条目与本地定义的值取优先在一起。对于environment和labels,环境变量或标签名称确定使用哪个值:
原始服务
environment:
– FOO=original
– BAR=original
本地服务
environment:
– BAR=local
– BAZ=local
结果
environment:
– FOO=original
– BAR=local
– BAZ=local
条目volumes和devices正在使用的安装在容器路径合并:
原始服务
volumes:
– ./original:/foo
– ./original:/bar
本地服务
volumes:
– ./local:/bar
– ./local:/baz
结果
volumes:
– ./original:/foo
– ./local:/bar
– ./local:/baz