我有一个docker-compose.yml文件,该文件定义了Web服务和数据库。
此文件描述了以docker-compose up
开头的主要用例。
version: '3.7'
services:
webservice:
image: my-webservice
ports:
- published: 8080
target: 8080
db-container:
image: my-database
ports:
- '3306:3306'
我有一个替代方案,其中将Web服务连接到现有数据库。
使用docker-compose -f docker-compose.yml -f use-existing-db.yml up
调用此备用配置。
version: '3.7'
services:
webservice:
volumes:
- /some/dir/db.prop:/config/db.prop
在上述情况下,无需启动db-container。
我知道我可以创建一个单独的docker-compose文件,该文件只能启动Web服务。我想找到一个替代主要docker-compose文件的解决方案。
是否存在通过docker-compose将特定容器制成无操作容器的良好实践?我想我只是引用一个不同的图像名称。
答案 0 :(得分:1)
我过去使用的一种解决方案是仅声明要up
的服务的子集。
docker-compose -f docker-compose.yml -f use-existing-db.yml up webservice
如果webservice
对depends_on
有依赖性(db-container
),则可以执行以下操作:
docker-compose -f docker-compose.yml -f use-existing-db.yml up --no-deps webservice