TP 7 (bonus) - Docker et les reverse proxies

Exercice 1 - Utiliser Traefik pour le routage

Traefik est un reverse proxy très bien intégré à Docker. Il permet de configurer un routage entre un point d’entrée (ports 80 et 443 de l’hôte) et des containers Docker, grâce aux informations du daemon Docker et aux labels sur chaque containers. Nous allons nous baser sur le guide d’introduction Traefik - Getting started.

  • Avec l’aide de la documentation Traefik, ajoutez une section pour le reverse proxy Traefik pour dans un fichier Docker Compose de votre choix.
Solution :
  • Explorez le dashboard Traefik accessible sur le port indiqué dans le fichier Docker Compose.

  • Ajouter des labels à l’app web que vous souhaitez desservir grâce à Traefik à partir de l’exemple de la doc Traefik, grâce aux labels ajoutés dans le docker-compose.yml (attention à l’indentation).

    Solution :

  • Avec l’aide de la documentation Traefik sur Let’s Encrypt et Docker Compose, configurez Traefik pour qu’il crée un certificat Let’s Encrypt pour votre container.

  • Si vous avez une IP publique mais pas de domaine, vous pouvez utiliser le service gratuit [netlib.re] qui vous fournira un domaine en *.netlib.re.

  • Vous aurez aussi besoin de configurer des DNS via netlib.re si vous voulez vérifier des sous-domaines (et non votre domaine principal) auprès de Let’s Encrypt (de plus, si vous voulez un certificat avec wildcard pour tous vos sous-domaines, il faudra résoudre le dnsChallenge de Let’s Encrypt de manière manuelle).

Solution :

Exercice 2 - Swarm avec Traefik

Solution :