zur*_*fyx 6 docker docker-compose
拥有docker-compose.yml如下基础:
version: '2'
services:
web:
build: .
...
Run Code Online (Sandbox Code Playgroud)
如何将其扩展为使用图像?
docker-compose.prod.yml
version: '2'
services:
web:
image: username/repo:tag
Run Code Online (Sandbox Code Playgroud)
使用docker-compose -f docker-compose.yml -f docker-compose.prod.yml updocker 运行它仍会提示:
构建Web
步骤1/x:FROM ...
我尝试过docker-compose -f docker-compose.yml -f docker-compose.prod.yml up --no-build:
错误:需要构建服务'web',但是--no-build已通过.
我期待着"从名字/回购消息中拉出来".我有哪些选择?或者我是否需要创建一个完整的重复文件来处理这种轻微的修改?
省略build底座docker-compose.yml,并将其放在一个docker-compose.override.yml文件中.
当你运行docker-compose时,它会自动读取覆盖.
由于您的docker-compose.yml文件必须包含构建或图像,因此我们将使用优先级较低的图像,从而导致:
version: '2'
services:
web:
image: repo
[...]
Run Code Online (Sandbox Code Playgroud)
现在,让我们移动到docker-compose.override.yml,将默认(意思是运行一个docker-compose up或docker-compose run web command).
默认情况下,我们希望它从我们构建图像Dockerfile,因此我们可以通过使用它来完成build: .
version: '2'
services:
web:
build: .
Run Code Online (Sandbox Code Playgroud)
docker-compose.prod.yml通过使用运行的生产docker-compose -f docker-compose.yml -f docker-compose.prod.yml up将与此类似,除了在这种情况下我们希望它从Docker存储库获取图像:
version: '2'
services:
web:
image: repo
Run Code Online (Sandbox Code Playgroud)
由于我们已经image: repo在基本docker-compose.yml文件中使用了相同的文件,因此我们可以省略它(但这完全是可选的).
| 归档时间: |
|
| 查看次数: |
1974 次 |
| 最近记录: |