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