Docker : mes données PostgreSQL disparaissent à chaque redémarrage
poze 4 months ago259 gadefr
J'utilise docker run postgres:16. Quand je supprime le conteneur et en relance un, ma base est vide. Comment persister les données ?
Dyagnostik IA
Se IA ki fè l. Se pa yon repons — kominote a anba a konfime oswa korije l. Toujou verifye anvan ou fye l.
1 Repons
Les fichiers écrits dans un conteneur vivent dans sa couche inscriptible, qui est supprimée avec lui. Il faut un volume monté sur le répertoire de données de Postgres :
docker volume create pgdata
docker run -d --name db \
-e POSTGRES_PASSWORD=secret \
-v pgdata:/var/lib/postgresql/data \
-p 5432:5432 postgres:16
Avec Compose :
services:
db:
image: postgres:16
environment:
POSTGRES_PASSWORD: secret
volumes:
- pgdata:/var/lib/postgresql/data
volumes:
pgdata:
Attention : docker compose down -v supprime les volumes nommés. Utilise simplement docker compose down pour garder les données.
Préfère un volume nommé à un montage de dossier (./data:/var/lib/...) : c'est plus simple côté permissions, surtout sous Windows et macOS.
Konekte pou di lòt moun si li te mache.
Sign in and verify your email to post an answer.