如何使用自定义docker标签重构Traefik v2中间件配置?

时间:2020-04-21 14:12:10

标签: docker traefik

为了限制对某些项目的访问,我添加了带有traefik标签的简单IP保护:

services:
  nginx:
    labels:
      - traefik.http.middlewares.${CI_PROJECT_PATH_SLUG}-${CI_ENVIRONMENT_SLUG}.ipwhitelist.sourcerange=1.2.3.4/32
      - traefik.http.routers.${CI_PROJECT_PATH_SLUG}-${CI_ENVIRONMENT_SLUG}.middlewares=${CI_PROJECT_PATH_SLUG}-${CI_ENVIRONMENT_SLUG}@docker

请注意,变量是由GitLab CI在部署时提供的,但这不是重点。

在每个项目的docker-compose.yml文件上定义了这些标签,并用git版本化。

这样,如果将此配置应用于42个项目,并且以后更改了IP,则我必须为每个项目将其修改42次。

所以我想找到一种方法将动态1.2.3.4/32值放在一个地方。

我正在考虑使用自定义docker标签进行以下操作:

services:
  nginx:
    labels:
      # This label would activate some configuration such as IP protection middleware
      - traefik.internal-restriction

这有可能吗?如果没有,如何正确管理该用例?

0 个答案:

没有答案
相关问题