我最近搬了我的postgres数据从一个硬盘驱动器复制到另一个。
我的docker运行命令是
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的权限? 我应该改变一些东西吗? 我有点困惑,并且因这个错误而感到沮丧。
我find了解决这个问题的办法。
首先确保sudo usermod -aG docker your_user ,然后重新login。还要确保你的文件夹上有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)指出了这一点。