我正在使用Docker部署我的ASP.NET Core Web API微服务,并且正在寻找将配置注入到每个容器中的选项。在应用程序根目录中使用appsettings.json文件的标准方法并不理想,因为据我所知,这意味着将文件构建到我的docker映像中,这将限制该映像可以在哪个环境中运行。
我想一次构建一个映像,可以在运行时为它们提供配置,并在整个开发过程中进行测试,测试UAT并进入生产环境,而无需为每个环境创建映像。
选项似乎是:
有人对此有经验吗?您能否提供代码示例/方向,尤其是在选项2)上,这似乎是目前最好的?
我们现在正在使用其他打包系统(不是docker本身),但是仍然存在相同的问题-包可以部署在任何环境中。
因此,我们现在的做法是:
这样,我们不仅允许程序包在几乎任何“已知”环境中运行,而且还允许运行时配置管理。
运行docker时,可以使用run命令的环境变量选项:
$ docker run -e“ deep =紫色” …