我最近将我的 postgres 数据从一个硬盘复制到了另一个硬盘。
我的 docker run 命令是
docker run --name postgres --restart=always -e
POSTGRES_USER= -e POSTGRES_PASSWORD= -e POSTGRES_DB=elevate_recruit -v /media/postgres:/var/lib/postgresql/data -d -p 543
2:5432 postgres:9.5
其中媒体驱动器是包含 postgres 备份的驱动器。当我运行时,ls -l media/postgres
我得到
drwxrw-rw- 6 sbt springcoil 4096 Jun 20 10:25 base
drwxrw-rw- 19 sbt springcoil 4096 Jun 21 13:27 data
-rw-rw-rw- 1 sbt springcoil 4 Apr 27 13:38 PG_VERSION
当我运行docker容器时docker logs container_id
我得到了
postgres cannot access the server configuration file "/var/lib/postgresql/data/postgresql.conf": No such file or directory
编辑-data/postgres.conf 文件存在。
我是否遗漏了什么,是否应该更改 docker 权限?我应该更改某些内容吗?这个错误让我有点困惑和沮丧。
答案1
我已找到解决这个问题的方法。
首先确保执行完毕sudo usermod -aG docker your_user
然后重新登录。同时确保您已获得chmod 777
并chmod -R your_user:your_user
位于您的文件夹中。
最后,我的 docker run 命令确实出现了错误。应该是-v /media/postgres:/var/lib/postgresql
而不是 ,-v /media/postgres:/var/lib/postgresql/data
感谢 Slack 频道上的某个人(我认为是 Dave Challis)指出了这一点。