Docker · Leçon 4
Volumes, variables et réseaux
À retenir
- Un volume garde les données quand le conteneur est supprimé :
-v nom:/dossier/du/conteneur. - Un dossier de la machine se branche pareil :
-v ~/site:/usr/share/nginx/html:ro(:ro= lecture seule). - Réglages et secrets par variables :
-e NOM=valeur, jamais dans l'image. --restart unless-stopped: relancé après un plantage ou un redémarrage.- Sur un même réseau, les conteneurs se joignent par leur nom ; la base n'a pas besoin de
-p.
Mémo
docker volume create donnees-base
docker run -d --name base -e POSTGRES_PASSWORD=… -v donnees-base:/var/lib/postgresql/data --restart unless-stopped postgres:18-alpine
docker run -d --name blog -p 8080:80 -v ~/blog:/usr/share/nginx/html:ro nginx:alpine
docker network create appli
docker run -d --name site --network appli -e DB_HOST=base monsite:1.0
docker inspect base Pièges à éviter
- Une base de données sans volume : tout disparaît à la suppression du conteneur.
- Publier le port de la base (
-p 5432:5432) : elle devient joignable depuis Internet. docker volume rmoucompose down -vsans sauvegarde.- Oublier la variable de mot de passe : la base refuse de démarrer.