Træfɪk is a modern HTTP reverse proxy and load balancer made to deploy microservices with ease. It supports several backends (Docker 🐳, Swarm 🐳🐳, Mesos/Marathon, Consul, Etcd, Zookeeper, BoltDB, Rest API, file...) to manage its configuration automatically and dynamically.git
Grab a sample configuration file and rename it to traefik.toml
. Enable docker
provider and web UI:github
################################################################ # Web configuration backend ################################################################ [web] address = ":8080" ################################################################ # Docker configuration backend ################################################################ [docker] domain = "docker.local" watch = true
Start Træfɪk:web
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
docker run -d --name test emilevauge/whoami
And finally, you can access to your whoami
server throught Træfɪk, on the domain name {containerName}.{configuredDomain}
:apache
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.frontend
You can find the complete documentation here.dom