Skip to content

快速参考

  • 维护者:
    Traefik 项目

  • 获取帮助的途径:
    Docker 社区 Slack、Server Fault、Unix & Linux 或 Stack Overflow

支持的标签和相应的 Dockerfile 链接

快速参考(续)

logo

Traefik 是一款现代化的 HTTP 反向代理和负载均衡器,可轻松部署微服务。

Traefik 与您现有的基础设施组件(Docker、Swarm 模式、Kubernetes、Marathon、Consul、Etcd、Rancher、Amazon ECS 等)集成,并自动和动态地进行自我配置。

将 Traefik 指向您的编排器应该是您需要的唯一配置步骤。

Traefik v2 - 示例用法

启用 docker 提供商和 Web UI:

## traefik.yml

# Docker configuration backend
providers:
  docker:
    defaultRule: "Host(`{{ trimPrefix `/` .Name }}.docker.localhost`)"

# API and dashboard configuration
api:
  insecure: true

启动 Traefik:

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:v2.5

启动一个名为 test 的后端服务器:

docker run -d --name test traefik/whoami

最后,您可以通过 Traefik 在域名 test.docker.localhost 上访问您的 whoami 服务器:

# $ curl --header 'Host:test.docker.localhost' 'http://localhost:80/'
$ curl test.docker.localhost
Hostname: 390a880bdfab
IP: 127.0.0.1
IP: 172.17.0.3
GET / HTTP/1.1
Host: test.docker.localhost
User-Agent: curl/7.65.3
Accept: */*
Accept-Encoding: gzip
X-Forwarded-For: 172.17.0.1
X-Forwarded-Host: test.docker.localhost
X-Forwarded-Port: 80
X-Forwarded-Proto: http
X-Forwarded-Server: 7e073cb54211
X-Real-Ip: 172.17.0.1

Web UI http://localhost:8080 将为您提供路由器、服务和中间件的概述。

Web UI

Traefik v1 - 示例用法

获取一个示例配置文件并将其重命名为 traefik.toml 。启用 docker 提供程序和 Web UI:

## traefik.toml

# API and dashboard configuration
[api]

# Docker configuration backend
[docker]
  domain = "docker.localhost"

启动 Traefik:

docker run -d -p 8080:8080 -p 80:80 \
-v $PWD/traefik.toml:/etc/traefik/traefik.toml \
-v /var/run/docker.sock:/var/run/docker.sock \
traefik:v1.7

启动一个名为 test 的后端服务器:

docker run -d --name test traefik/whoami

最后,您可以通过 Traefik 在域名 {containerName}.{configuredDomain}test.docker.localhost )上访问您的 whoami 服务器:

# $ curl --header 'Host:test.docker.localhost' 'http://localhost:80/'
$ curl 'http://test.docker.localhost'
Hostname: 117c5530934d
IP: 127.0.0.1
IP: ::1
IP: 172.17.0.3
IP: fe80::42:acff:fe11:3
GET / HTTP/1.1
Host: test.docker.localhost
User-Agent: curl/7.35.0
Accept: */*
Accept-Encoding: gzip
X-Forwarded-For: 172.17.0.1
X-Forwarded-Host: 172.17.0.3:80
X-Forwarded-Proto: http
X-Forwarded-Server: f2e05c433120

Web UI http://localhost:8080 将为您提供前端/后端的概述以及健康仪表板。

Web UI Providers

文档

您可以找到完整的文档:

  • 对于 v2.x
  • 对于 v1.7

https://community.traefik.io 提供社区支持。

在 https://awesome.traefik.io 可以找到关于 Traefik 的一系列贡献。

图像变体

traefik 图像有多种类型,每种都针对特定的用例进行了设计。

traefik:<version>

这是默认的镜像。如果您不确定自己的需求是什么,您可能想要使用这个。它被设计为既可以用作一次性容器(挂载您的源代码并启动容器以启动您的应用程序),也可以用作构建其他镜像的基础。

traefik:<version>-windowsservercore

此映像基于 Windows Server Core ( microsoft/windowsservercore )。因此,它仅在该映像适用的位置工作,例如 Windows 10 专业版/企业版(周年纪念版)或 Windows Server 2016。

有关如何在 Windows 上运行 Docker 的信息,请参阅 Microsoft 提供的相关“快速入门”指南:

许可证

查看此映像中包含的软件的许可证信息。

与所有 Docker 镜像一样,这些镜像可能还包含其他软件,这些软件可能受其他许可证的约束(例如来自基础发行版的 Bash 等,以及所包含的主要软件的任何直接或间接依赖项)。

一些能够自动检测到的额外许可证信息可能会在 repo-info 存储库的 traefik/ 目录中找到。

对于任何预构建的映像使用,映像用户有责任确保对此映像的任何使用都符合其中包含的所有软件的任何相关许可证。