TP : Isolation réseau et persistance Docker
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 :
- Les conteneurs doivent communiquer entre eux via un réseau dédié (et non le réseau par défaut
bridge). - Les données de la base doivent persister même si le conteneur est supprimé.
- Seul phpMyAdmin doit exposer son port sur l'hôte (
8080).
📝 Travail à réaliser
- Créez un réseau bridge nommé
app-network. - Créez un volume nommé
db-data. - Lancez le conteneur
db-serveravec l'imagemariadb:10.6:- Attaché au réseau
app-network. - Montant le volume
db-datasur/var/lib/mysql. - Variable
MYSQL_ROOT_PASSWORDdéfinie surdevopspass.
- Attaché au réseau
- Lancez le conteneur
admin-panelavec l'imagephpmyadmin:latest:- Attaché au réseau
app-network. - Lié au serveur MariaDB via la variable
PMA_HOST=db-server. - Port
8080de l'hôte redirigé vers le port80du conteneur.
- Attaché au réseau
- 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).