Docker部署Traefik的正确姿势,零基础也能上手

Traefik 是一个现代化的反向代理和负载均衡工具,特别适合在 Docker 环境下自动发现服务并动态配置路由。
对新手来说,用 Docker 部署 Traefik 是成本最低、最容易上手的方式。
本文按照实际操作顺序展开,每一步都给出具体命令和配置文件,你只需要复制粘贴并根据自己的环境稍作修改即可跑通。

你需要准备什么

  • 一台 Linux 服务器(CentOS 7+ 或 Ubuntu 18.04+,本文以 Ubuntu 22.04 为例)。
  • 已安装 Docker 和 Docker Compose。如果还没装,先执行以下命令快速安装:
  curl -fsSL https://get.docker.com | bash
  sudo apt-get install docker-compose-plugin -y
  • 放开服务器的 80、443 和 8080 端口(如果使用云平台请在安全组放行;本地防火墙可用 ufw allow 80,443,8080/tcp)。
  • 一个域名(可选) 用于配置 HTTPS 和更正规的访问,没有域名也可以先用 IP 测试。

一步步部署 Traefik(基于 Docker Compose)

1. 创建项目目录与配置文件

mkdir ~/traefik && cd ~/traefik
touch docker-compose.yml traefik.yml dynamic.yml

docker-compose.yml 定义 Traefik 容器服务,traefik.yml 是静态配置,dynamic.yml 是动态配置(路由、中间件等)。

2. 编写静态配置 traefik.yml

api:
  dashboard: true
  insecure: true   # 仅开发环境使用,生产环境应改为 false 并配置安全认证

entryPoints:
  web:
    address: ":80"
  websecure:
    address: ":443"
  traefik:
    address: ":8080"

providers:
  docker:
    endpoint: "unix:///var/run/docker.sock"
    exposedByDefault: false
  file:
    filename: /etc/traefik/dynamic.yml

providers.docker 允许 Traefik 自动监听容器标签来生成路由;file 提供者让我们可以手动编写额外路由规则。

3. 编写 docker-compose.yml

version: "3.8"
services:
  traefik:
    image: traefik:v3.0
    container_name: traefik
    restart: unless-stopped
    ports:
      - "80:80"
      - "443:443"
      - "8080:8080"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - ./traefik.yml:/etc/traefik/traefik.yml:ro
      - ./dynamic.yml:/etc/traefik/dynamic.yml:ro
    networks:
      - web

networks:
  web:
    external: false

注意:将 docker socket 挂载进去,Traefik 才能与 Docker daemon 通信。

4. 启动容器

docker compose up -d

等待几秒后,检查运行状态:

docker compose ps

如果状态正常,你已经成功用 Docker 部署了 Traefik!

验证部署并配置一个简单路由

访问 Dashboard

浏览器输入 http://你的服务器IP:8080/dashboard/(末尾斜杠不要漏),如果看到 Traefik 的 Web 管理界面,说明基础部署成功。

配置一个 HTTP 路由(通过 dynamic.yml)

在 dynamic.yml 中加入以下内容,创建一个指向 whoami 服务的路由:

http:
  routers:
    whoami:
      rule: "Host(`whoami.local`)"
      service: whoami-svc
      entryPoints:
        - web
  services:
    whoami-svc:
      loadBalancer:
        servers:
          - url: "http://host.docker.internal:8088"

(这里假设你在另一台机器或同一机器上已运行 whoami 服务。实际使用你可以改成自己的上游服务地址。)
修改后无需重启,Traefik 会自动重新加载配置。

常见问题与避坑说明

  • Dashboard 无法访问:确认端口 8080 已放行,并且启动时没有用 --api.insecure=false(我们当前配置是 true)。生产环境记得加上安全认证。
  • Docker 自动发现不生效:检查 exposedByDefault: false 是否导致容器被忽略。如果你想让某个容器被自动发现,需要在容器标签中设置 traefik.enable=true。
  • 权限问题:挂载 /var/run/docker.sock 后容器内进程有 root 权限,建议在非生产环境或限制容器权限。
  • 文件配置不加载:确保 traefik.yml 和 dynamic.yml 的路径挂载正确,并且 YAML 语法无缩进错误。可用 docker compose logs traefik 查看错误日志。
  • 端口被占用:如果 80 或 443 已被其他 Web 服务占用,先停掉它们再启动 Traefik,或者修改 entryPoints 端口。

如果你正在处理 Docker 部署 Traefik,建议先按本文步骤完整执行,再根据自己的环境做微调;
遇到异常时优先回看避坑和高频问题部分。
跟着操作下来,你已经拥有一个可动态扩缩的反向代理系统了。

分享到:
上一篇
Linux服务器用户会话管理:查看登录用户与强制踢出挂死会话
下一篇
服务器云服务器安全设置:零基础也能搞定的云服务器安全设置指南
1
系统公告

泽御云中秋国庆双节活动上线:新购8折,拼团3.99元起

尊敬的用户:
泽御云“月满中秋·礼贺国庆”双节活动现已开启,活动时间为2026年9月23日至10月10日。 活动期间可享以下福利:
1. 常规云服务器新购使用优惠码“泽御中秋国庆同乐”,符合条件的订单享8折优惠。
2. 香港精品云服务器5人拼团低至3.99元,部分4核4G套餐3人拼团年付388元,续费同价。
3. 新用户购买年付云服务器,符合活动规则可赠送2个月使用时长。
4. 老用户续费季度赠15天,续费年度赠2个月;活动期间升级配置免收配置迁移手续费。
5. 推荐好友成功下单,符合条件的推荐人可获赠7天服务器使用时长。
6. 活动期间享宕机补偿标准翻倍、简单网站迁移协助及技术工单优先处理权益。
温馨提示:优惠码不适用于拼团套餐、活动轻量产品、年付订单及续费订单;拼团套餐为独立特价活动,不与赠时类福利叠加。赠送时长不可折现、退款或跨账户转移,具体规则以活动页面说明为准。
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意