|  | @@ -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.
 |