Skip to content

Traefik 入门

Traefik 是一款云原生的边缘路由器,它可以作为你的应用程序与外界的统一入口。Traefik 会监听你的基础设施组件(如 Docker、Kubernetes、Consul 等),并自动实时地为你的服务发现并配置正确的路由规则。

ℹ️ 提示

想要评估 Traefik 是否能解决你的需求?查看产品功能对比

在生产环境使用 Traefik?考虑升级到我们的 API 网关(观看演示视频)。

1. 启动 Traefik

ℹ️ 快速演示

想直接跳过阅读,先跑起来看看?查看 Docker 快速开始Kubernetes 快速开始Traefik Hub

以下是启动 Traefik 最简单的方式(详见安装章节):

bash
docker run -d -p 8080:8080 -p 80:80 \
  -v $PWD/traefik.yml:/etc/traefik/traefik.yml \
  -v /var/run/docker.sock:/var/run/docker.sock \
  traefik:v3.7
yaml
# traefik.yml
api:
  insecure: true
entryPoints:
  web:
    address: ":80"
providers:
  docker: {}

ℹ️ 不要在生产环境启用 --api.insecure=true

打开浏览器访问 http://localhost:8080/api/rawdatahttp://localhost:8080/dashboard/,即可看到 Traefik 的 API 与仪表盘。

2. 部署示例应用

将以下内容保存为 whoami.yml

yaml
# whoami.yml
services:
  whoami:
    image: traefik/whoami
    labels:
      - "traefik.http.routers.whoami.rule=Host(`whoami.localhost`)"

然后启动它:

bash
docker-compose -f whoami.yml up -d

3. 测试你的设置

bash
curl http://whoami.localhost

返回的内容形如:

Hostname: 068c0a29a8b7
IP: 127.0.0.1
IP: ::1
IP: 192.168.147.3
RemoteAddr: 192.168.147.2:56006
GET / HTTP/1.1
Host: whoami.localhost
User-Agent: curl/8.7.1
Accept: */*
Accept-Encoding: gzip
X-Forwarded-For: 192.168.147.1
X-Forwarded-Host: whoami.localhost
X-Forwarded-Port: 80
X-Forwarded-Proto: http
X-Forwarded-Server: 9232cdd4fd6c
X-Real-Ip: 192.168.147.1

下一步

基于 MIT 协议发布