Docker Compose如何覆盖包含数组结构的配置项环境变量
配置覆盖解决方案
你要实现的Docker Compose环境变量覆盖是支持的,未生效的核心原因是配置中包含数组结构,ASP.NET Core 的环境变量配置绑定规则对数组元素有特殊的索引定位要求。
正确配置规则
- 数组元素需要通过从0开始的数字下标定位具体元素,各层级之间依旧使用双下划线
__分隔即可。
你的场景下的正确示例
environment: - VIRTUAL_HOST=api.local - VIRTUAL_PORT=80 # 定位HealthChecks数组第1个元素(下标为0)的Uri属性 - HealthChecksUI__HealthChecks__0__Uri=https://api.local/ # 若需要修改该健康检查项的Name属性,可新增以下配置 - HealthChecksUI__HealthChecks__0__Name=自定义健康检查名称
补充说明
如果需要配置多个健康检查项,只需要依次递增下标即可,例如第二个健康检查的Uri配置写法为 HealthChecksUI__HealthChecks__1__Uri=第二个检查地址。
双下划线是跨平台兼容的层级分隔符,在Docker容器的Linux环境下可以正常被识别加载。
内容的提问来源于stack exchange,提问作者mbrc
相关产品推荐
相关产品推荐

