Postgres在docker集装箱不工作 – 不断重新启动

我最近搬了我的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 777chmod -R your_user:your_user

最后,在我的docker run命令中实际上有一个错误。 它应该是-v /media/postgres:/var/lib/postgresql而不是-v /media/postgres:/var/lib/postgresql/data感谢那些在Slack频道上的人(我想Dave Challis)指出了这一点。