project/
├─ docker-compose.yml
├─ traefik/
│ ├─ traefik.yml # 静态配置
│ └─ dynamic.yml # 动态配置(路由和服务)
# docker-compose.yml
version: "3"
services:
traefik:
image: traefik:v3.1
container_name: traefik
ports:
- "8081:8081" # Traefik HTTP 内部入口(1Panel反代到这个端口)
- "8080:8080" # Dashboard
volumes:
- ./traefik/traefik.yml:/etc/traefik/traefik.yml:ro
- ./traefik/dynamic.yml:/etc/traefik/dynamic.yml:ro
- /var/run/docker.sock:/var/run/docker.sock:ro
service-a:
image: traefik/whoami
container_name: service-a
service-b:
image: traefik/whoami
container_name: service-b
# traefik.yml
entryPoints:
web:
address: ":8081"
providers:
file:
filename: /etc/traefik/dynamic.yml # 挂载到容器内的路径
api:
dashboard: true
insecure: true
# dynamic.yml
http:
routers:
user-router:
rule: "Host(`www.example`) && PathPrefix(`/api/user`)"
service: service-a
entryPoints:
- web
tool-router:
rule: "Host(`www.example`) && PathPrefix(`/api/tool`)"
service: service-b
entryPoints:
- web
services:
service-a:
loadBalancer:
servers:
- url: "http://service-a:8080"
service-b:
loadBalancer:
servers:
- url: "http://service-b:8080"
作者:admin 创建时间:2025-09-16 20:44
最后编辑:admin 更新时间:2025-09-19 10:08
最后编辑:admin 更新时间:2025-09-19 10:08