docker-compose.yml覆盖删除图像的构建

时间:2019-10-23 15:12:18

标签: docker docker-compose

我有:

docker-compose.yml

services:
  app:
    build: .

docker-compose.override.yml

services:
  app:
    image: my_repo/my_app:my_tag

当我执行docker-compose up时,它实际上执行了build: .,而不是使用覆盖的image: my_repo/my_app:my_tag

我想我应该使用某种build: falsebuild: none来确保它读取了image属性,不是吗?由于覆盖似乎就像合并一样,因此好像两个条目都在那一样:

services:
  app:
    build: .
    image: my_repo/my_app:my_tag

build优先于image(来自the docs)。

1 个答案:

答案 0 :(得分:0)

我相信正确的方法是使用像services: app: image: my_repo/my_app:my_tag 这样的基数:

docker-compose.override.yml

services: app: build: .

docker-compose up

这样,当您启动.时,将使用构建上下文docker-compose.override.yml来构建映像

另一个services: app: image : my_repo/other_image:tag 具有不同图像的示例:

docker-compose.override.yml

此处{{1}}中的图片优先。