docker-compose 多个-f 参数以及config命令 ,docker stack deploy 多个 -c ,

docker-compose 多个-f 参数以及config命令 ,docker stack deploy 多个 -c ,docker compose fxxx fxxxx 会将多个 compose yaml 文件合并到一起当指定了多个文件时 包括没指定 f 但同时存在 docker compose yml 和 docker c

大家好,欢迎来到IT知识分享网。

docker-compose -f xxx -f xxxx :会将多个compose,yaml文件 合并到一起 当指定了多个文件时(包括没指定-f但同时存在docker-compose.yml和docker-compose.override.yml文件),Compose会将多个文件合并成一个配置文件,合并的结果与指定文件的顺序有关。合并有两种操作,没有的添加,相同的覆盖。

应用多个 compose 配置文件

docker-compose 命令默认使用的配置文件是当前目录中的 docker-compose.yml 文件,当然我们可以通过 -f 选项指定一个其它名称的配置文件,比如:

$ docker-compose -f docker-compose-dev.yml up

更酷的是我们可以添加多个 -f 选项,docker-compose 会自动合并它们,当然也会根据先后顺序把一些重复的配置项覆盖掉。 下面我们来演示一个常见的使用场景,先创建一个名称为 docker-compose-base.yml 的配置文件,其内容如下:

version: '3' services: web: build: . redis: image: "redis:latest"

然后再创建名称为 docker-compose-dev.yml 的配置文件:

version: '3' services: web: ports: - "5000:5000"

下面的命令会同时应用这两个配置文件:

$ docker-compose -f docker-compose-base.yml -f docker-compose-dev.yml config

config 命令不会执行真正的操作,而是显示 docker-compose 程序解析到的配置文件内容:

docker-compose 多个-f 参数以及config命令 ,docker stack deploy 多个 -c ,

很显然,我们指定的两个配置文件的内容被合并了。接下来我们再来看看配置文件覆盖的情况。新创建一个名为 docker-compose-prod.yml 的配置文件,编辑其内容如下:

复制代码

version: '3' services: web: ports: - "80:5000" redis: image: "redis:alpine"

复制代码

然后执行下面的命令:

$ docker-compose -f docker-compose-base.yml -f docker-compose-prod.yml config

docker-compose 多个-f 参数以及config命令 ,docker stack deploy 多个 -c ,

其实 docker-compse 还默认还支持一种合并、覆盖配置文件的写法,就是使用约定的文件名称 docker-compose.yml 和 docker-compose.override.yml。下面我们把 docker-compose-base.yml 文件改名为 docker-compose.yml,把 docker-compose-prod.yml 文件改名为 docker-compose.override.yml,并直接执行不带 -f 选项的命令:

$ docker-compose config

结果和前面是一样的,docker-compose 自动合并了配置文件 docker-compose.yml 和 docker-compose.override.yml。这种方式虽然省去了指定 -f 选项的麻烦但其缺点也是很明显的,就是无法指定更多不同的应用场景。

$ docker-compose -f xxx -f xxxx  config>xxxxx:合并多个compose.yaml;不会运行服务;

docker stack deploy 多个 -c:新版本的18以上的docker ,合并启动多个docker-compose

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/103858.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信