docker - 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"
解决方案
您正在使用 Traefik v1 和 Traefik v2 配置的混合。
traefik.frontend.rule
-> Traefik v1traefik.http.middlewares.test-replacepath.replacepath.path
-> Traefik v2
Traefik v1 和 Traefik v2 配置不兼容。
文件:
推荐阅读
- javascript - 如何触发剑道窗口内的功能?
- php - 表中存在键,但在 MySQL 中显示 Can't Drop foreign key
- php - Laravel 使用变量重定向回来
- python - Split 2D numpy array vertically into uneven subarrays
- vba - 如何根据工作表名称将工作表保存到不同的特定文件夹
- python - Scrapy:循环导致变量不更新
- python - 通过 argparse 接受参数
- node.js - 导出 Nodejs 服务器
- jquery - 如何检查是否有更多项目已添加到 html 文档中
- java - 使用流计算句子中每个字母的出现次数