Docker编写如何使用build扩展服务以使用映像
有一个基本的Docker编写如何使用build扩展服务以使用映像,docker,docker-compose,Docker,Docker Compose,有一个基本的docker compose.yml,如下所示: version: '2' services: web: build: . ... 如何将其扩展为使用图像 docker compose.prod.yml version: '2' services: web: image: username/repo:tag 使用dockerdocker compose-f docker-compose.yml-f docker-compose.prod.yml up运行它
docker compose.yml
,如下所示:
version: '2'
services:
web:
build: .
...
如何将其扩展为使用图像
docker compose.prod.yml
version: '2'
services:
web:
image: username/repo:tag
使用dockerdocker compose-f docker-compose.yml-f docker-compose.prod.yml up运行它
仍然提示:
建立网站步骤1/x:从 我试过使用
docker-compose-f docker-compose.yml-f docker-compose.prod.yml-up--no build
:
错误:需要生成服务“web”,但未传递任何生成
我期待的是“取而代之的名称/回购信息”。我有哪些选择?或者我需要创建一个完整的重复文件来处理这个轻微的修改吗?省略基础
docker compose.yml
上的build
,并将其放在docker compose.override.yml
文件中
运行docker compose up时,它会自动读取覆盖
摘自
由于您的docker compose.yml
文件必须具有内部版本或映像,因此我们将使用优先级较低的映像,从而导致:
version: '2'
services:
web:
image: repo
[...]
现在让我们转到默认情况下运行的docker compose.override.yml
(意思是docker compose up
或docker compose run web命令)
默认情况下,我们希望它从我们的Dockerfile
构建映像,因此我们只需使用build:.
version: '2'
services:
web:
build: .
使用docker-compose-f docker-compose.yml-f docker-compose.yml-f docker-compose.prod.yml up运行的生产版本docker-compose.prod.yml
与此版本类似,只是在这种情况下,我们希望它从docker存储库获取图像:
version: '2'
services:
web:
image: repo
由于我们的基本docker compose.yml
文件中已经有了相同的image:repo
,因此我们可以在这里省略它(但这是完全可选的)