1、手动创建网络
docker network create traefik
2、创建docker-compose.yml,内容如下:
version: '3'
services:
traefik:
image: traefik:v3.6.13
container_name: traefik
restart: unless-stopped
security_opt:
- no-new-privileges:true
networks:
- traefik
ports:
- "5080:80" # HTTP
- "5443:443" # HTTPS
- "8081:8080" # Dashboard
labels:
# 1. 启用 Traefik 对自身的路由配置
- "traefik.enable=true"
- "traefik.http.middlewares.dash-auth.basicauth.users=admin:$$2y$$05$$vkT2TVlotU.2j/gy8JMft.74/7UIBmrYzo865vm2eJK34BWyt4DgW"
- "traefik.http.routers.dashboard-rule.middlewares=dash-auth"
# 2. 定义域名路由规则 (把下面域名换成你自己的)
- "traefik.http.routers.dashboard-rule.rule=Host(`traefik.198388.xyz`)"
# 3. 指定该路由访问内部的 api 服务
- "traefik.http.routers.dashboard-rule.service=api@internal"
# 4. 指定通过哪个入口点访问 (对应你定义的 :80 端口,即宿主机的 5080)
- "traefik.http.routers.dashboard-rule.entrypoints=web"
volumes:
- /etc/localtime:/etc/localtime:ro
- /var/run/docker.sock:/var/run/docker.sock:ro
# - ./traefik.yml:/traefik.yml:ro
command:
- "--api.dashboard=true" # 必须开启这个才能使用 dashboard
- "--api.insecure=false" # 设为 false 是正确的,因为你通过 Label 配置了路由
- "--providers.docker=true"
- "--providers.docker.exposedbydefault=false"
- "--entrypoints.web.address=:80"
- "--entrypoints.websecure.address=:443"
networks:
traefik:
external: true3、启用服务
docker-compose up -d
本文著作权归作者 [ 爱生活的懒人 ] 享有,未经作者书面授权,禁止转载,封面图片来源于 [ 互联网 ] ,本文仅供个人学习、研究和欣赏使用。如有异议,请联系博主及时处理。