Traefik 2 将 ENV 直接解析为 golang 模板中的地图?

问题描述

我想使用环境变量在 dockerized traefik 2 中加载配置。

为了实现这一点,我想在 traefiks 动态文件配置中使用 golang 模板功能

我尝试了几种方法(我在这里发布了我的 json 测试),但我似乎无法将 ENV 解析为地图。 我还有其他方法可以实现这一目标吗?

docker-compose.yml

version: "2.4"
services:
  internal-gateway:
    image: my-internal-gateway
    environment:
      MY_MAPPINGS: >-
        {
          "microservice1": {"host": "service1:1234"},"microservice2": {"host": "service2:4321"}
        }

我的dynamic-traefik-configuration.yml

http:
  routers:
    {{range $k,$v := env "MY_MAPPINGS"}}
    router-{{ $k }}:
      rule: "PathPrefix(`/{{ $k }}`)"
      service: {{ $k }}
    {{end}}

  services:
    {{range $k,$v := env "MY_MAPPINGS"}}
    {{ $k }}:
      loadBalancer:
        servers:
          - url: "{{ $v.host }}"
    {{end}}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)