我们有一个相当复杂的系统,它使用 docker-compose 和许多不同的微服务。我希望能够通过具有一个 docker-compose 配置(调试)的 Visual Studio 运行单个微服务。或者,我有另一个配置(我们称之为 Debug2),我想要一个稍微不同的 docker-compose 配置。
现在我的“docker-compose.yml”文件有基础,我的“docker-compose.override.yml”有一些开发特定的东西。我做了一个“docker-compose.debug.yml”。当我在 Debug模式下运行项目时,它会启动所有 3 个文件。
到目前为止一切都很好,对吧?
好吧,然后我尝试制作一个“docker-compose.debug2.yml”。我向名为“Debug2”的项目和解决方案添加了一个新配置。当我尝试在该模式下从 Visual Studio 运行时,它只启动前 2 个文件,根本不尝试使用“debug2”文件。
系统是否硬编码为只允许调试和发布覆盖文件?我做错了什么还是有疏忽?还有其他想法吗?
最佳答案
当您通过 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 包含您的基本配置。覆盖文件,作为它的顾名思义,可以包含现有服务或全新服务的配置覆盖。”
关于docker - 自定义 Visual Studio 配置的不同 docker compose 覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49779643/