Volumes

Un volume est un stockage géré par Docker qui vit en dehors de tout conteneur. Monte-le là où une application écrit ses données, et ces données survivent à docker rm, aux mises à jour et aux conteneurs recréés.

Comment ça marche

docker run -v pgdata:/var/lib/postgresql/data crée le volume nommé pgdata si besoin et le monte. La première fois, un volume vide est rempli avec ce que l'image contenait à ce chemin. Les volumes ne sont supprimés que par docker volume rm, docker compose down -v ou un prune.

Ce qui casse

Monte le volume exactement sur le chemin où le programme écrit : une faute de frappe crée un volume que personne n'utilise pendant que les données restent dans la couche inscriptible. Et les images qui déclarent VOLUME reçoivent un nouveau volume anonyme pour chaque conteneur, facile à perdre de vue.

Dans un terminal

docker volume create pgdata
docker run -d --name db -e POSTGRES_PASSWORD=example -v pgdata:/var/lib/postgresql/data postgres:16
docker volume ls

Regarde-le casser, puis répare-le

Écris le Dockerfile ou le fichier compose, tape les commandes docker, et regarde un serveur simulé les exécuter à travers redémarrages, mises à jour et trafic. Gratuit pour commencer.