【问题标题】:Do I have to rebuild my Docker image every time I want to make a change to app settings?每次我想更改应用程序设置时,我是否必须重建我的 Docker 映像?
【发布时间】:2021-03-08 09:06:56
【问题描述】:

我们将 .Net Core Web API 的 Docker 映像分发给客户端。 通过在客户端的 Kubernetes Helm Chart 中将 ASPNETCORE_ENVIRONMENT 环境变量设置为 X,appsettings.X.json 中的正确环境设置就会被拾取。这一切都很好。

但是如果客户端需要更改appsettings.X.json 中的其中一项设置会怎样?我们不希望他们重建 Docker 映像。

有人可以在这里提供更好的架构吗?

【问题讨论】:

  • 你能补充更多细节吗
  • @cemkaan 您还需要什么详细信息?
  • 使用 Kubernetes ConfigMap 注入设置将是一种非常典型的方法。
  • @cemkaan 基本上我在问是否有一种聪明的方法可以使用标准的微软推荐的 appsettings.json 文件来进行特定于环境的配置,这不需要我们每次都重新构建 Docker 映像想要进行配置更改。希望这更清楚。

标签: docker asp.net-core app-config appsettings


【解决方案1】:

最常见的做法是直接从环境中获取设置。因此,您将从环境中读取而不是 settings.json(您也可以有默认值。另一种解决方案是使用 http://www.confd.io/

【讨论】:

  • 是的,我们想到了这一点,但更喜欢 Microsoft 提供的 appsettings 功能,因为它允许一些不错的“覆盖”功能。由于我们的应用程序也被 SaaS 客户和开发人员使用,我们还必须将配置注入这些环境。所以会有点乱。我更喜欢将所有配置保留在 appsettings 中,但在这个用例中可能是不可能的。
  • 另一个想法是挂载设置
  • 不错的主意,但客户必须进行挂载...不是很好的用户体验。
猜你喜欢
  • 1970-01-01
  • 2020-09-11
  • 1970-01-01
  • 2016-08-23
  • 1970-01-01
  • 1970-01-01
  • 2020-09-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多