Coup de coeur en cette fin d'année 2017 !!

traefik est un reverse-proxy http/https et load-balancer français créé pour fonctionner avec Docker. Le service lit les labels passés à un container et annonce à la volée l'accès à celui-ci.

Mise en place d'un traefik sur un Swarm en 10 minutes

Compose traefik

Fichier docker-compose.yml

version: '3'
services:
traefik:
image: traefik 
command: --docker --docker.swarmmode --docker.domain=traefik --docker.watch --web
ports:
- 80:80
- 8080:8080
volumes:
- /var/run/docker.sock:/var/run/docker.sock 
deploy:
placement:
constraints: [node.role == manager]
labels:
- "traefik.port=8080"
- "traefik.frontend.rule=Host:traefik.pg3.io"
networks:
traefik_default:
driver: overlay

Start traefik

docker stack deploy traefik -c docker-compose.yml

Accéder à la console d'admin : http://traefik.pg3.io

  • Exemple l'UI

web.frontend

Compose nginx

Fichier docker-compose.yml

version: '3'
services:
nginx:
image: nginx 
deploy:
placement:
constraints: [node.role == worker]
labels:
- "traefik.port=80"
- "traefik.frontend.rule=Host:nginx.pg3.io"
networks:
traefik_default:
driver: overlay

Start nginx

docker stack deploy nginx -c docker-compose.yml

-> Accéder au nginx : http://nginx.pg3.io

C'est beau quand même ;)

Sources