Маршрутизатор пути Traefik - PullRequest
       148

Маршрутизатор пути Traefik

0 голосов
/ 02 августа 2020

Я пытаюсь создать следующую конфигурацию traefik docker-compose:

  • маршрут на основе первого элемента пути, который должен соответствовать docker имени изображения.
  • удалить изображение имя при запуске службы:

Вот что у меня получилось:

version: "3.3"
  
services:

  traefik:
    image: "traefik:v2.2"
    container_name: "traefik"
    command:
      #- "--log.level=DEBUG"
      - "--api.insecure=true"
      - "--providers.docker=true"
      - "--providers.docker.defaultRule=PathPrefix(`/{{ (split \"-\" .Name)._0 }}`)"
      - "--entrypoints.web.address=:80"
    ports:
      - "80:80"
      - "8080:8080"
    volumes:
      - "/var/run/docker.sock:/var/run/docker.sock:ro"

  whoami:
    image: "containous/whoami"
    labels:
      - "traefik.http.routers.gsn.middlewares=pfx"
      - "traefik.http.middlewares.pfx.replacepathregex.regex=^/\\w+/"
      - "traefik.http.middlewares.pfx.replacepathregex.replacement=/"

с этой конфигурацией, выполнив команду:

curl http://localhost/whoami/something

Найдет docker изображение whoami, удалит его из пути, и, таким образом, сам контейнер получит ожидаемый URL-запрос:

GET=/something

Однако я хочу добиться того же БЕЗ необходимости писать метки для каждого контейнера docker отдельно.

Сложность заключается в том, что маршрутизация должна основываться на префиксе исходного пути, но на перенаправленном пути должно быть после удаления префикса ...

Можно ли сделать с Traefik?

...