我有一个docker-compose.yml文件,其中定义了一个Web服务和一个数据库。
这个文件描述了我的主要用例,可以通过docker-compose up
启动。
docker-compose.yml
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
。
use-existing-db.yml
version: '3.7'
services:
webservice:
volumes:
- /some/dir/db.prop:/config/db.prop
我的问题
在我上面描述的场景中,db-container不需要启动。
我知道我可以创建一个单独的docker-compose文件,只启动Web服务。我想找到一种覆盖主docker-compose文件的解决方案。
有没有一个好的实践方法,通过docker-compose将特定的容器变成无操作容器?我认为我只需引用不同的镜像名称即可。
use-existing-db.yml
中的Web服务如何连接到现有数据库?是哪个数据库?是外部的,不是容器化的吗? - rok