不同的docker为自定义Visual Studio配置组合覆盖

时间:2018-04-11 15:58:50

标签: docker visual-studio-2017 docker-compose

我们有一个相当复杂的系统使用docker-compose和许多不同的微服务。我希望能够通过visual studio使用一个docker-compose配置(Debug)运行单独的微服务。或者,我有另一个配置(让我们称之为Debug2),我想要一个稍微不同的docker-compose配置。

现在我的" docker-compose.yml"文件有基础,我的" docker-compose.override.yml"有一些发展具体的事情。我做了一个" docker-compose.debug.yml"。当我在调试模式下运行项目时,它会启动所有这三个文件。

到目前为止一切都好,对吗?

那么,我尝试制作一个" docker-compose.debug2.yml"。我在项目和解决方案中添加了一个新配置,名为" Debug2"。当我尝试在该模式下从Visual Studio运行时,它只与前两个文件一起启动,并且不会尝试使用" debug2"文件。

系统是否硬编码为仅允许调试和释放覆盖文件?我做错了什么还是有疏忽?还有其他想法吗?

2 个答案:

答案 0 :(得分:1)

通过compose运行服务时,是否还要传递可选的替代文件?

例如,

docker-compose -f docker-compose.debug.yml -f docker-compose.debug2.yml

默认情况下,compose仅在我所知的范围内寻找docker-compose.overrides.yml。因此,在启动环境时,必须将其作为可选参数传递。

“默认情况下,Compose读取两个文件,一个docker-compose.yml和一个可选的docker-compose.override.yml文件。按照惯例,docker-compose.yml包含您的基本配置。覆盖文件作为其基本配置顾名思义,它可以包含现有服务或全新服务的配置替代。”

有关更多信息:https://docs.docker.com/compose/extends/

答案 1 :(得分:0)

对于遇到此问题的其他人,您可以在此处找到文档:

https://docs.microsoft.com/en-us/visualstudio/containers/docker-compose-properties?view=vs-2019

“调试”和“发行”的两个特定文件名为:

docker-compose.vs.debug.yml
docker-compose.vs.release.yml