即使我的Windows主机重启后,我仍要确保我的Postgres数据(使用基于Linux的图像)能够持久存在。
我试图按照步骤How to persist data in a dockerized postgres database using volumes
volumes:
- ./postgres_data:/var/lib/postgresql/data
但是,我遇到错误
waiting for server to start....FATAL: data directory "/var/lib/postgresql/data/pgdata" has wrong ownership
HINT: The server must be started by the user that owns the data directory.
stopped waiting
pg_ctl: could not start server
然后,我尝试按照https://forums.docker.com/t/trying-to-get-postgres-to-work-on-persistent-windows-mount-two-issues/12456/5中的步骤进行操作>
建议的方法是
docker volume create --name postgres_data --driver local
docker-compose.yml
services: postgres: volumes: - postgres_data:/var/lib/postgresql/data volumes: postgres_data: external: true
但是,我对命令
docker volume create --name postgres_data --driver local
感到困惑。作为,它没有提到Windows主机的确切路径。
我尝试过
C:\celery-hello-world>docker volume create postgres_data postgres_data C:\celery-hello-world>docker volume inspect postgres_data [ { "CreatedAt": "2018-02-06T14:54:48Z", "Driver": "local", "Labels": {}, "Mountpoint": "/var/lib/docker/volumes/postgres_data/_data", "Name": "postgres_data", "Options": {}, "Scope": "local" } ]
我可以知道Windows目录位置在哪个目录下,将VOLUME
postgres_data
安装到吗?
即使我的Windows主机重启后,我仍要确保我的Postgres数据(使用基于Linux的映像)持久存在。我尝试按照以下步骤操作:如何将数据持久化在dockerized postgres数据库中...
今天我在问自己同样的问题,但我已经弄清楚了。