docker-compose.yml 和 docker-compose.override.yml

背景

最近用到docker-compose来管理多个docker容器构成的服务
碰到了docker-compose.yml 和 docker-compose.override.yml
这两个要怎么用,之前不是很明白,看了手册之后才有点知道
现在整理一下
官方文档:https://docs.docker.com/compose/reference/overview/

docker-compose -f xxx.yml 命令

docker-compose的命令构成
docker-compose [-f …] [–profile …] [options] [COMMAND] [ARGS…]
其中-f部分可以指定使用哪一个yml文件,来执行后续的COMMAND(比如build,up,down等)

(1)如果有多个yml,可以同时指定多个

docker-compose -f docker-compose1.yml -f docker-compose2.yml xxxx(省略)

docker-compose会合并两个文件中的设定,
如果存在设定重复,docker-compose2.yml 会覆盖掉前面的设定

(2)如果没有用-f指定文件的话,那么会用当前文件夹下面的两个文件
docker-compose.yml 和docker-compose.override.yml
等价于

docker-compose -f docker-compose.yml -f docker-compose.override.yml xxxx(省略)

(3)使用
一般可以考虑把共同的设定比如build,images之类的放在docker-compose.override.yml 中,运行时候的 ports之类的设定放在docker-compose.yml 中
即共同的在compose.override.yml ,各个单独的放在docker-compose.yml

你可能感兴趣的:(03.docker,docker,docker-compose,override)