首页 > 解决方案 > 除非明确调用构建,否则从远程映像中拉取

问题描述

有没有办法在 docker-compose yaml 文件中同时指定两者build:image:让它们玩得很好?

理想情况下,远程映像是在或运行docker-compose up时构建的。当开发人员必须注释掉构建参数以提取远程图像时,这个问题有点令人讨厌。docker-compose up --builddocker-compose build

示例 1

build: ./nginx
image: us.gcr.io/cool-project-123456/dev-box:latest

构建始终运行,然后使用该image:值命名和标记容器。

示例 2

# build: ./nginx
image: us.gcr.io/cool-project-123456/dev-box:latest

这里似乎只要build:被注释并image:存在,所有构建命令都会被忽略,而图像会被拉取。

标签: dockerdocker-composedocker-build

解决方案


示例 1 并不总是运行。它仅在您没有该图像时运行:us.gcr.io/cool-project-123456/dev-box:latest

docker-compose up总是首先使用您机器中的现有图像。

我的建议是保留

build: ./nginx
image: us.gcr.io/cool-project-123456/dev-box:latest

并使用

  • docker-compose up --build
  • docker-compose pull & docker-compose up

推荐阅读