content.md 2.5 KB

%%LOGO%%

Traefik is a modern HTTP reverse proxy and load balancer that makes deploying microservices easy.

Traefik integrates with your existing infrastructure components (Docker, Swarm mode, Kubernetes, Marathon, Consul, Etcd, Rancher, Amazon ECS, ...) and configures itself automatically and dynamically.

Telling Traefik where your orchestrator is could be the only configuration step you need to do.

Example usage

Grab a sample configuration file and rename it to traefik.toml. Enable docker provider and web UI:

################################################################
# API and dashboard configuration
################################################################
[api]
################################################################
# Docker configuration backend
################################################################
[docker]
domain = "docker.local"
watch = true

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

Start a backend server, named test:

docker run -d --name test emilevauge/whoami

And finally, you can access to your whoami server throught Traefik, on the domain name {containerName}.{configuredDomain}:

curl --header 'Host: test.docker.local' 'http://localhost:80/'
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
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

The web UI http://localhost:8080 will give you an overview of the frontends/backends and also a health dashboard.

Web UI Providers

Documentation

You can find the complete documentation at https://docs.traefik.io.

A collection of contributions around Traefik can be found at https://awesome.traefik.io.