互联网技术 / 互联网资讯 · 2023年11月22日 0

Docker教程:使用docker-compose添加和覆盖配置

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