从 Traefik V2 defaultRule 中删除 docker-compose stack name

Remove docker-compose stack name from Traefik V2 defaultRule

在 Traefik V2 中 defaultRule=Host( .Name .. ) 中的 .Name 属性 使用 docker-compose.

时打印 containerName-stackName 而不是仅 containerName

知道如何删除它吗? 这是我目前的规则:

- --providers.docker.defaultRule=Host(`{{ trimPrefix `/` .Name }}.containers.myorg.com`)

如果我的 compose 堆栈的名称是 monitoring,并且容器是 grafana,这将创建:

grafana-monitoring.containers.myorg.com

而不是

grafana.containers.myorg.com

谢谢

这似乎对我有用:

- --providers.docker.defaultRule=Host(`{{if index .Labels "com.docker.compose.service" }}{{ index .Labels "com.docker.compose.service" }}.containers.myorg.com{{else}}{{ trimPrefix `/` .Name }}.containers.myorg.com{{end}}`)