windows - Docker postgres container mister data, der skal gemmes i volumen
Problem
Jeg kører en postgres database genereret af nedenstående docker-compose fil på Windows. Før jeg kørte
docker-compose up --build
, oprettede jeg et dockervolumen med docker volume --name postgresdata --driver local
. Sidstnævnte er gjort for at undgå at montere en Windows-mappe i Postgres.Men når jeg kører
docker-compose down
efterfulgt af docker-compose up --build
, er databasen tom, som jeg ikke ville have forventet. Eventuelle ideer eller forslag?Dette er den docker-compose.yml-fil, jeg bruger:
version: '3.0'
services:
db:
image: postgres:latest
restart: always
ports:
- 5432:5432
env\_file:
- env\_file
volumes:
- postgresdata
networks:
- db1
market\_data:
build: .
environment:
PYTHONUNBUFFERED: 'true'
stdin\_open: true
tty: true
links:
- db:db
container\_name: market\_data\_container
volumes:
- '.:/market\_data'
depends\_on:
- db
networks:
- db1
adminer:
image: adminer
restart: always
ports:
- 8080:8080
networks:
- db1
depends\_on:
- db
volumes:
market\_data:
postgresdata:
external: true
networks:
db1:
driver: bridge
Bedste reference
Postgres bruger allerede et volumen til at fortsætte data, men
docker-compose down
sletter dette lydstyrke. Du bruger navngivne mængder i din komponentfil, men montere det ikke korrekt. [9]version: '3.0'
services:
db:
image: postgres:latest
restart: always
ports:
- 5432:5432
env\_file:
- env\_file
volumes:
- postgresdata:/var/lib/postgresql/data
networks:
- db1
Tilføj standardbanen for postgres-data til dit volumen
postgresdata:/var/lib/postgresql/data
. Dette bør rette op på det.