Sortir de "l'Enfer des IP" Docker
Guide de survie pour Homelaber fatigué
Le Constat : Le "Spaghetti Réseau"
Au début, on lance un conteneur Nextcloud. Puis un blog. Puis une base de données. On configure notre Reverse Proxy avec des adresses IP (ex: 172.18.0.5) parce que "ça marche".
Le drame : Un soir de pluie, votre machine Debian redémarre. Docker relance les conteneurs, mais pas dans le même ordre.
- Nextcloud prend l'IP du Blog.
- Le Blog prend l'IP de la DB.
- Résultat : Plus rien ne marche, et vous passez votre soirée à fouiller dans
docker inspectau lieu de dormir.
La Solution : Le "Grand Salon" (proxy-net)
Au lieu de laisser chaque conteneur dans son petit coin sombre, on va créer un espace commun où tout le monde se connaît par son Nom et non par son numéro de sécu (IP).
Étape A : Créer la zone commune
On crée un réseau Docker persistant qui ne disparaîtra jamais.
docker network create proxy-net
Étape B : Le branchement à chaud
Pas besoin de tout couper. On branche nos services importants sur ce nouveau réseau, comme on ajouterait une multiprise :
# On connecte le cerveau (le Proxy) et ses membres (les Apps)
docker network connect proxy-net mon-proxy
docker network connect proxy-net mon-app-web
La Révolution : Le DNS Interne
C'est ici que la magie opère. Dans un réseau Docker personnalisé, les conteneurs peuvent se parler en utilisant leur container_name.
Avant (Instable) : Cible du proxy : http://172.18.0.5:8080 (Change au reboot)
Après (Normalisé) : Cible du proxy : http://mon-app-web:8080 (Immortel)
Rendre le changement permanent (Portainer)
Pour que ce "nettoyage de câbles" survive à la prochaine modification d'une Stack, il faut l'écrire dans le marbre (le fichier YAML).
Ajoutez simplement ces deux blocs dans vos Stacks Portainer :
- Au niveau du service :
networks:
- default # Garde l'accès à la DB locale
- proxy-net # Donne l'accès au Proxy
- Tout en bas du fichier :
networks:
proxy-net:
external: true # Dit à Docker : "Le réseau existe déjà, ne le recrée pas"
Conclusion : Le repos du guerrier
Une fois cette normalisation terminée :
- Plus d'IP à retenir.
- Redémarrages sereins.
- Sécurité accrue (vous pouvez même arrêter d'exposer les ports sur l'IP publique de votre Debian).
Un Homelab propre, c'est du temps de sommeil gagné pour demain.