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



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

现在我的"docker-compose.yml">

文件有基础知识,我的"docker-compose.override.yml"有一些开发特定的东西。我做了一个"docker-compose.debug.yml"。 当我在调试模式下运行项目时,它会启动所有这 3 个文件。

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

好吧,然后我尝试制作"docker-compose.debug2.yml"。 我向项目和解决方案添加了一个名为"Debug2"的新配置。当我尝试在该模式下从 Visual Studio 运行时,它只使用前 2 个文件启动,并且根本不尝试使用"debug2"文件。

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

当您通过组合运行服务时,是否也传递了可选的覆盖文件?

例如

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

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

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

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

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

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

">

调试"和"发布"的两个特定文件名是:

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

最新更新