PostgreSQL 容器未启动:chmod:更改 '/bitnami/postgresql/data' 的权限:不允许操作



bitnami/postgresql无法启动卷装载。我使用的是官方docker镜像的10.14.0版本。

容器在没有卷装载的情况下启动:

docker run --rm --name postgresql -e POSTGRESQL_PASSWORD=password123 bitnami/postgresql:10.14.0
postgresql 16:09:04.59 
postgresql 16:09:04.60 INFO  ==> ** Starting PostgreSQL setup **
postgresql 16:09:04.62 INFO  ==> Validating settings in POSTGRESQL_* env vars..
postgresql 16:09:04.63 INFO  ==> Loading custom pre-init scripts...
postgresql 16:09:04.63 INFO  ==> Initializing PostgreSQL database...
postgresql 16:09:04.66 INFO  ==> pg_hba.conf file not detected. Generating it...
postgresql 16:09:04.66 INFO  ==> Generating local authentication configuration
postgresql 16:09:05.97 INFO  ==> Starting PostgreSQL in background...
postgresql 16:09:06.11 INFO  ==> Changing password of postgres
postgresql 16:09:06.14 INFO  ==> Configuring replication parameters
postgresql 16:09:06.17 INFO  ==> Configuring fsync
postgresql 16:09:06.18 INFO  ==> Loading custom scripts...
postgresql 16:09:06.19 INFO  ==> Enabling remote connections
postgresql 16:09:06.20 INFO  ==> Stopping PostgreSQL...
postgresql 16:09:07.21 INFO  ==> ** PostgreSQL setup finished! **
postgresql 16:09:07.25 INFO  ==> ** Starting PostgreSQL **
2020-09-16 16:09:07.279 GMT [1] LOG:  listening on IPv4 address "0.0.0.0", port 5432
2020-09-16 16:09:07.279 GMT [1] LOG:  listening on IPv6 address "::", port 5432
2020-09-16 16:09:07.283 GMT [1] LOG:  listening on Unix socket "/tmp/.s.PGSQL.5432"
2020-09-16 16:09:07.296 GMT [105] LOG:  database system was shut down at 2020-09-16 16:09:06 GMT
2020-09-16 16:09:07.302 GMT [1] LOG:  database system is ready to accept connections

带卷装

docker run --rm --name postgresql -v /postgresql:/bitnami/postgresql -e POSTGRESQL_PASSWORD=password123 bitnami/postgresql:10.14.0
postgresql 16:10:05.99 
postgresql 16:10:05.99 Welcome to the Bitnami postgresql container
postgresql 16:10:05.99 Subscribe to project updates by watching https://github.com/bitnami/bitnami-docker-postgresql
postgresql 16:10:05.99 Submit issues and feature requests at https://github.com/bitnami/bitnami-docker-postgresql/issues
postgresql 16:10:05.99 
postgresql 16:10:06.01 INFO  ==> ** Starting PostgreSQL setup **
postgresql 16:10:06.02 INFO  ==> Validating settings in POSTGRESQL_* env vars..
postgresql 16:10:06.03 INFO  ==> Loading custom pre-init scripts...
postgresql 16:10:06.03 INFO  ==> Initializing PostgreSQL database...
mkdir: cannot create directory ‘/bitnami/postgresql/data’: Permission denied
postgresql 16:10:06.04 INFO  ==> Stopping PostgreSQL...

使用docker组合文件

postgresql:
image: bitnami/postgresql:10.14.0
container_name: postgresql
ports:
- 5432:5432
environment: 
- POSTGRESQL_REPLICATION_MODE=master
- POSTGRESQL_REPLICATION_USER=repl_user
- POSTGRESQL_REPLICATION_PASSWORD=repl_password
- POSTGRESQL_USERNAME=my_user
- POSTGRESQL_PASSWORD=my_password
- POSTGRESQL_DATABASE=my_database
- POSTGRESQL_SYNCHRONOUS_COMMIT_MODE=on
- POSTGRESQL_NUM_SYNCHRONOUS_REPLICAS=1
volumes:
- /postgresql:/bitnami/postgresql
restart: always

输出:

docker-compose up
postgresql      | postgresql 16:12:34.68 
postgresql      | postgresql 16:12:34.68 Welcome to the Bitnami postgresql container
postgresql      | postgresql 16:12:34.68 Subscribe to project updates by watching https://github.com/bitnami/bitnami-docker-postgresql
postgresql      | postgresql 16:12:34.68 Submit issues and feature requests at https://github.com/bitnami/bitnami-docker-postgresql/issues
postgresql      | postgresql 16:12:34.68 
postgresql      | postgresql 16:12:34.70 INFO  ==> ** Starting PostgreSQL setup **
postgresql      | postgresql 16:12:34.72 INFO  ==> Validating settings in POSTGRESQL_* env vars..
postgresql      | postgresql 16:12:34.72 INFO  ==> Loading custom pre-init scripts...
postgresql      | postgresql 16:12:34.73 INFO  ==> Initializing PostgreSQL database...
postgresql      | chmod: changing permissions of '/bitnami/postgresql/data': Operation not permitted
postgresql      | postgresql 16:12:34.74 WARN  ==> Lack of permissions on data directory!
postgresql      | chmod: changing permissions of '/bitnami/postgresql/data': Operation not permitted
postgresql      | postgresql 16:12:34.75 WARN  ==> Lack of permissions on data directory!
postgresql      | postgresql 16:12:34.75 INFO  ==> pg_hba.conf file not detected. Generating it...
postgresql      | postgresql 16:12:34.75 INFO  ==> Generating local authentication configuration
postgresql      | postgresql 16:12:34.78 INFO  ==> Stopping PostgreSQL...

我找不到任何解决办法。其他容器似乎没有这个问题。如果有人找到这个问题的解决方案,请提供帮助。

Bitnami工程师,

由于Bitnami PostgreSQL容器是非根容器,id为1001的用户需要在您安装的本地文件夹中具有写入权限。

sudo chown -R 1001:1001 /postgresql

您可以在我们的GitHub存储库中找到更多信息

https://github.com/bitnami/bitnami-docker-postgresql#persisting-您的数据库

最新更新