Docker Postgresql 错误提示:服务器必须由拥有数据目录 postgresql rhel 的用户启动

Posted

技术标签:

【中文标题】Docker Postgresql 错误提示:服务器必须由拥有数据目录 postgresql rhel 的用户启动【英文标题】:Docker Postgresql ERROR HINT: The server must be started by the user that owns the data directory postgresql rhel 【发布时间】:2019-03-16 20:51:54 【问题描述】:

我有一个 docker compose 文件,我在其中使用共享卷启动 PostgreSQL。但我不断收到以下错误。

2018-10-11 14:57:01.757 GMT [81] LOG:  skipping missing configuration 
file "/postgresql/data/postgresql.auto.conf"
| 2018-10-11 14:57:01.768 GMT [81] FATAL:  data directory "/postgresql/data" has wrong ownership
| 2018-10-11 14:57:01.768 GMT [81] HINT:  The server must be started by the user that owns the data directory.

我的docker compose文件如下

addb:
image : postgres
networks:
  - private
ports:
  - "5432:5432"
volumes:
  - /mnt/shared/app_data/db/postgres/data_db:/postgresql/data
depends_on:
  - sol-server

我正在使用 RHEL 7.5 和 Docker 版本 18.06.1-ce,构建 e68fc7。任何想法我可以如何解决上述问题。

【问题讨论】:

【参考方案1】:

您应该使用/var/lib/postgresql/data 中的数据库挂载您的卷 而不是/postgresql/data 或提供环境PGDATA=/postgresql/data

【讨论】:

以上是关于Docker Postgresql 错误提示:服务器必须由拥有数据目录 postgresql rhel 的用户启动的主要内容,如果未能解决你的问题,请参考以下文章

如何从 docker-compose 连接到 Host PostgreSQL?

Rails 6 Docker 与 PostgreSQL 连接错误

Docker:Springboot 容器无法连接到 PostgreSql 容器连接错误

text 错误yago本体没有挂载postgresql docker

连接到在 Docker 容器中运行的数据库时,sails-postgresql“poolSize”太高错误

docker-compose 用于纯数据容器和 Web 服务器 postgresql