Merge pull request #1570 from ldez/feature/traefik-doc
Update Traefik documentation.
This commit is contained in:
commit
5555d840c2
|
|
@ -1,26 +1,81 @@
|
|||
%%LOGO%%
|
||||
|
||||
[Traefik](https://github.com/containous/traefik) 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 load balancer 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.
|
||||
|
||||
Telling Traefik where your orchestrator is could be the *only* configuration step you need to do.
|
||||
Pointing Traefik at your orchestrator should be the *only* configuration step you need.
|
||||
|
||||
# Example usage
|
||||
# Traefik v2 - Example usage
|
||||
|
||||
Grab a [sample configuration file](https://raw.githubusercontent.com/containous/traefik/master/traefik.sample.toml) and rename it to `traefik.toml`. Enable `docker` provider and web UI:
|
||||
Enable `docker` provider and web UI:
|
||||
|
||||
```yml
|
||||
## traefik.yml
|
||||
|
||||
# Docker configuration backend
|
||||
providers:
|
||||
docker:
|
||||
defaultRule: "Host(`{{ trimPrefix `/` .Name }}.docker.localhost`)"
|
||||
|
||||
# API and dashboard configuration
|
||||
api:
|
||||
insecure: true
|
||||
```
|
||||
|
||||
Start 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:v2.0
|
||||
```
|
||||
|
||||
Start a backend server, named `test`:
|
||||
|
||||
```bash
|
||||
docker run -d --name test containous/whoami
|
||||
```
|
||||
|
||||
And finally, you can access to your `whoami` server throught Traefik, on the domain name `test.docker.localhost`:
|
||||
|
||||
```console
|
||||
# $ 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
|
||||
```
|
||||
|
||||
The web UI [http://localhost:8080](http://localhost:8080) will give you an overview of the routers, services, and middlewares.
|
||||
|
||||

|
||||
|
||||
# Traefik v1 - Example usage
|
||||
|
||||
Grab a [sample configuration file](https://raw.githubusercontent.com/containous/traefik/v1.7/traefik.sample.toml) and rename it to `traefik.toml`. Enable `docker` provider and web UI:
|
||||
|
||||
```toml
|
||||
################################################################
|
||||
## traefik.toml
|
||||
|
||||
# API and dashboard configuration
|
||||
################################################################
|
||||
[api]
|
||||
################################################################
|
||||
|
||||
# Docker configuration backend
|
||||
################################################################
|
||||
[docker]
|
||||
domain = "docker.local"
|
||||
watch = true
|
||||
domain = "docker.localhost"
|
||||
```
|
||||
|
||||
Start Traefik:
|
||||
|
|
@ -29,26 +84,27 @@ Start 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
|
||||
traefik:v1.7
|
||||
```
|
||||
|
||||
Start a backend server, named `test`:
|
||||
|
||||
```bash
|
||||
docker run -d --name test emilevauge/whoami
|
||||
docker run -d --name test containous/whoami
|
||||
```
|
||||
|
||||
And finally, you can access to your `whoami` server throught Traefik, on the domain name `{containerName}.{configuredDomain}`:
|
||||
And finally, you can access to your `whoami` server throught Traefik, on the domain name `{containerName}.{configuredDomain}` (`test.docker.localhost`):
|
||||
|
||||
```bash
|
||||
curl --header 'Host: test.docker.local' 'http://localhost:80/'
|
||||
```console
|
||||
# $ 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: 172.17.0.3:80
|
||||
Host: test.docker.localhost
|
||||
User-Agent: curl/7.35.0
|
||||
Accept: */*
|
||||
Accept-Encoding: gzip
|
||||
|
|
@ -56,15 +112,19 @@ X-Forwarded-For: 172.17.0.1
|
|||
X-Forwarded-Host: 172.17.0.3:80
|
||||
X-Forwarded-Proto: http
|
||||
X-Forwarded-Server: f2e05c433120
|
||||
|
||||
```
|
||||
|
||||
The web UI [http://localhost:8080](http://localhost:8080) will give you an overview of the frontends/backends and also a health dashboard.
|
||||
|
||||

|
||||

|
||||
|
||||
# Documentation
|
||||
|
||||
You can find the complete documentation at [https://docs.traefik.io](https://docs.traefik.io).
|
||||
You can find the complete documentation:
|
||||
|
||||
- for [v1.7](https://docs.traefik.io/v1.7)
|
||||
- for [v2.0](https://docs.traefik.io/v2.0)
|
||||
|
||||
A community support is available at [https://community.containo.us](https://community.containo.us)
|
||||
|
||||
A collection of contributions around Traefik can be found at [https://awesome.traefik.io](https://awesome.traefik.io).
|
||||
|
|
|
|||
Loading…
Reference in New Issue