|
|
@@ -69,15 +69,15 @@ WARNING:
|
|
|
|
|
|

|
|
|
|
|
|
-[Traefik](https://traefik.io) is a modern HTTP reverse proxy and load balancer that makes deploying microservices easy.
|
|
|
+[Traefik](https://traefik.io) is a modern HTTP reverse proxy and ingress controller that makes deploying microservices easy.
|
|
|
|
|
|
-Traefik integrates with your existing infrastructure components ([Docker](https://www.docker.com/), [Swarm mode](https://docs.docker.com/engine/swarm/), [Kubernetes](https://kubernetes.io), [Marathon](https://mesosphere.github.io/marathon/), [Consul](https://www.consul.io/), [Etcd](https://coreos.com/etcd/), [Rancher](https://rancher.com), [Amazon ECS](https://aws.amazon.com/ecs), ...) and configures itself automatically and dynamically.
|
|
|
+Traefik integrates with your existing infrastructure components ([Kubernetes](https://kubernetes.io), [Docker](https://www.docker.com/), [Swarm](https://docs.docker.com/engine/swarm/), [Consul](https://www.consul.io/), [Nomad](https://www.nomadproject.io/), [etcd](https://coreos.com/etcd/), [Amazon ECS](https://aws.amazon.com/ecs), ...) and configures itself automatically and dynamically.
|
|
|
|
|
|
Pointing Traefik at your orchestrator should be the *only* configuration step you need.
|
|
|
|
|
|
-# Traefik v2 - Example usage
|
|
|
+## Traefik v3 - Example usage
|
|
|
|
|
|
-Enable `docker` provider and web UI:
|
|
|
+Enable `docker` provider and dashboard UI:
|
|
|
|
|
|
```yml
|
|
|
## traefik.yml
|
|
|
@@ -92,112 +92,116 @@ api:
|
|
|
insecure: true
|
|
|
```
|
|
|
|
|
|
-Start Traefik:
|
|
|
+Start Traefik v3:
|
|
|
|
|
|
-```bash
|
|
|
+```sh
|
|
|
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
|
|
|
+ -v $PWD/traefik.yml:/etc/traefik/traefik.yml \
|
|
|
+ -v /var/run/docker.sock:/var/run/docker.sock \
|
|
|
+ traefik:v3
|
|
|
```
|
|
|
|
|
|
-Start a backend server, named `test`:
|
|
|
+Start a backend server using the `traefik/whoami` image:
|
|
|
|
|
|
-```bash
|
|
|
+```sh
|
|
|
docker run -d --name test traefik/whoami
|
|
|
```
|
|
|
|
|
|
-And finally, you can access to your `whoami` server throught Traefik, on the domain name `test.docker.localhost`:
|
|
|
+Access the whoami service through Traefik via the defined rule `test.docker.localhost`:
|
|
|
|
|
|
```console
|
|
|
-# $ curl --header 'Host:test.docker.localhost' 'http://localhost:80/'
|
|
|
$ curl test.docker.localhost
|
|
|
-Hostname: 390a880bdfab
|
|
|
+Hostname: 0693100b16de
|
|
|
IP: 127.0.0.1
|
|
|
-IP: 172.17.0.3
|
|
|
+IP: ::1
|
|
|
+IP: 192.168.215.4
|
|
|
+RemoteAddr: 192.168.215.3:57618
|
|
|
GET / HTTP/1.1
|
|
|
Host: test.docker.localhost
|
|
|
-User-Agent: curl/7.65.3
|
|
|
+User-Agent: curl/8.7.1
|
|
|
Accept: */*
|
|
|
Accept-Encoding: gzip
|
|
|
-X-Forwarded-For: 172.17.0.1
|
|
|
+X-Forwarded-For: 192.168.215.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
|
|
|
+X-Forwarded-Server: 8a37fd4f35fb
|
|
|
+X-Real-Ip: 192.168.215.1
|
|
|
```
|
|
|
|
|
|
-The web UI [http://localhost:8080](http://localhost:8080) will give you an overview of the routers, services, and middlewares.
|
|
|
+Access the Traefik Dashboard:
|
|
|
|
|
|
-
|
|
|
+Open your web browser and navigate to `http://localhost:8080` to access the Traefik dashboard. This will provide an overview of routers, services, and middlewares.
|
|
|
|
|
|
-# Traefik v1 - Example usage
|
|
|
+
|
|
|
|
|
|
-Grab a [sample configuration file](https://raw.githubusercontent.com/traefik/traefik/v1.7/traefik.sample.toml) and rename it to `traefik.toml`. Enable `docker` provider and web UI:
|
|
|
+## Traefik v2 - Example usage
|
|
|
|
|
|
-```toml
|
|
|
-## traefik.toml
|
|
|
+Enable `docker` provider and dashboard UI:
|
|
|
|
|
|
-# API and dashboard configuration
|
|
|
-[api]
|
|
|
+```yml
|
|
|
+## traefik.yml
|
|
|
|
|
|
# Docker configuration backend
|
|
|
-[docker]
|
|
|
- domain = "docker.localhost"
|
|
|
+providers:
|
|
|
+ docker:
|
|
|
+ defaultRule: "Host(`{{ trimPrefix `/` .Name }}.docker.localhost`)"
|
|
|
+
|
|
|
+# API and dashboard configuration
|
|
|
+api:
|
|
|
+ insecure: true
|
|
|
```
|
|
|
|
|
|
-Start Traefik:
|
|
|
+Start Traefik v2:
|
|
|
|
|
|
-```bash
|
|
|
+```sh
|
|
|
docker run -d -p 8080:8080 -p 80:80 \
|
|
|
--v $PWD/traefik.toml:/etc/traefik/traefik.toml \
|
|
|
+-v $PWD/traefik.yml:/etc/traefik/traefik.yml \
|
|
|
-v /var/run/docker.sock:/var/run/docker.sock \
|
|
|
-traefik:v1.7
|
|
|
+traefik:v2.11
|
|
|
```
|
|
|
|
|
|
-Start a backend server, named `test`:
|
|
|
+Start a backend server using the `traefik/whoami` image:
|
|
|
|
|
|
-```bash
|
|
|
+```sh
|
|
|
docker run -d --name test traefik/whoami
|
|
|
```
|
|
|
|
|
|
-And finally, you can access to your `whoami` server throught Traefik, on the domain name `{containerName}.{configuredDomain}` (`test.docker.localhost`):
|
|
|
+Access the whoami service through Traefik via the defined rule `test.docker.localhost`:
|
|
|
|
|
|
```console
|
|
|
-# $ curl --header 'Host:test.docker.localhost' 'http://localhost:80/'
|
|
|
-$ curl 'http://test.docker.localhost'
|
|
|
-Hostname: 117c5530934d
|
|
|
+$ curl test.docker.localhost
|
|
|
+Hostname: 390a880bdfab
|
|
|
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
|
|
|
+User-Agent: curl/7.65.3
|
|
|
Accept: */*
|
|
|
Accept-Encoding: gzip
|
|
|
X-Forwarded-For: 172.17.0.1
|
|
|
-X-Forwarded-Host: 172.17.0.3:80
|
|
|
+X-Forwarded-Host: test.docker.localhost
|
|
|
+X-Forwarded-Port: 80
|
|
|
X-Forwarded-Proto: http
|
|
|
-X-Forwarded-Server: f2e05c433120
|
|
|
+X-Forwarded-Server: 7e073cb54211
|
|
|
+X-Real-Ip: 172.17.0.1
|
|
|
```
|
|
|
|
|
|
-The web UI [http://localhost:8080](http://localhost:8080) will give you an overview of the frontends/backends and also a health dashboard.
|
|
|
+Access the Traefik Dashboard:
|
|
|
+
|
|
|
+Open your web browser and navigate to `http://localhost:8080` to access the Traefik dashboard. This will provide an overview of routers, services, and middlewares.
|
|
|
|
|
|
-
|
|
|
+
|
|
|
|
|
|
-# Documentation
|
|
|
+## Documentation
|
|
|
|
|
|
You can find the complete documentation:
|
|
|
|
|
|
-- for [v2.x](https://doc.traefik.io/traefik/)
|
|
|
-- for [v1.7](https://doc.traefik.io/traefik/v1.7)
|
|
|
+- for [v3.x](https://doc.traefik.io/traefik/)
|
|
|
+- for [v2.11](https://doc.traefik.io/traefik/v2.11)
|
|
|
|
|
|
A community support is available at [https://community.traefik.io](https://community.traefik.io)
|
|
|
|
|
|
-A collection of contributions around Traefik can be found at [https://awesome.traefik.io](https://awesome.traefik.io).
|
|
|
-
|
|
|
# Image Variants
|
|
|
|
|
|
The `traefik` images come in many flavors, each designed for a specific use case.
|