首页 > 解决方案 > Traefik 中间件不适用于 docker compose

问题描述

我正在尝试使用 traefik 中间件,但没有一个 traefik 中间件可用于部署的服务,以下是 docker-compose 文件和 toml 文件。我正在使用 toml 文件初始化 traefik 有人能发现任何错误吗?

version: '3'

services:
  traefik:
    image: traefik
    command: -c /traefik.toml --logLevel=DEBUG
    ports:
      - "80:80"
      - "8086:8080"
    networks:
      - traefik
    volumes:
      - ./traefik.toml:/traefik.toml
      - /var/run/docker.sock:/var/run/docker.sock

  whoami:
    image: emilevauge/whoami
    networks:
      - traefik
    labels:
      - traefik.enable=true
      - "traefik.frontend.rule=Host:link.docker.localhost"

  authservice:
    image: authservice
    networks:
      - traefik
    ports:
      - "7000:80"
    labels:
      - traefik.enable=true
      - "traefik.frontend.rule=Host:authservice.docker.localhost"
      - "traefik.http.middlewares.test-replacepath.replacepath.path=/swagger"

networks:
  traefik:


---------toml file
defaultEntryPoints = ["http", "https"]

[entryPoints]
    [entryPoints.http]
    address = ":80"
    compress = true


[web]
address = ":8080"

[docker]
endpoint = "unix:///var/run/docker.sock"

标签: dockerdocker-composemiddlewaretraefikapi-gateway

解决方案


您正在使用 Traefik v1 和 Traefik v2 配置的混合。

  • traefik.frontend.rule-> Traefik v1
  • traefik.http.middlewares.test-replacepath.replacepath.path-> Traefik v2

Traefik v1 和 Traefik v2 配置不兼容。

文件:


推荐阅读