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

标签 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)。

最佳答案

我相信正确的方法是使用基本的docker-compose.yml:

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的图像将具有优先权。

关于docker - docker-compose.yml覆盖删除镜像构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58526015/

相关文章:

angular - Docker 容器不会重新加载 Angular 应用程序

docker - 在 docker 中的链接容器上执行二进制文件

macos - 如何挂载容器可写的主机目录?

mysql - 无法使用数据库:create when I try to configure CartoDB

bash - 无法在我的脚本中发现错误,其行为与预期不符

docker - 停止并删除正在运行的容器

postgresql - dockervolumes中 "device"和 "mountpoint"的含义

linux - "Default"Docker 守护进程运行时 Linux 上不存在 docker 机器

docker - 如何查看哪个容器正在使用或正在使用哪个 docker 卷

docker - 为什么我无法从 Kubernetes 容器之间的共享 PersistentVolumeClaim 中读取文件?