Skip to main content

TP : Isolation réseau et persistance Docker

Niveau : Moyen⏳ Temps conseillé : 25 min
Compétences évaluées :
Création de réseaux bridge personnalisésAttachement de volumes persistantsCommunication inter-conteneurs par nom DNSInspection et troubleshooting

🎯 Contexte du scénario​

Vous devez déployer une base de données MariaDB et un outil d'administration phpMyAdmin.

Pour des raisons de sécurité et de bonnes pratiques :

  1. Les conteneurs doivent communiquer entre eux via un réseau dédié (et non le réseau par défaut bridge).
  2. Les données de la base doivent persister même si le conteneur est supprimé.
  3. Seul phpMyAdmin doit exposer son port sur l'hôte (8080).

📝 Travail à réaliser​

  1. Créez un réseau bridge nommé app-network.
  2. Créez un volume nommé db-data.
  3. Lancez le conteneur db-server avec l'image mariadb:10.6 :
    • Attaché au réseau app-network.
    • Montant le volume db-data sur /var/lib/mysql.
    • Variable MYSQL_ROOT_PASSWORD définie sur devopspass.
  4. Lancez le conteneur admin-panel avec l'image phpmyadmin:latest :
    • Attaché au réseau app-network.
    • Lié au serveur MariaDB via la variable PMA_HOST=db-server.
    • Port 8080 de l'hôte redirigé vers le port 80 du conteneur.
  5. Validez l'accès via votre navigateur sur http://localhost:8080.
💡 Indice

Pour lier phpMyAdmin à MariaDB sur un réseau personnalisé, la résolution DNS interne de Docker utilise directement le nom du conteneur (--name).


💡 Solution détaillée​