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

问题描述 投票:0回答:1

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

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

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-compose 文件

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...

我无法找到任何解决方案。其他容器似乎没有这个问题。如果有人找到解决此问题的方法,请帮忙。

postgresql docker docker-compose permissions bitnami
1个回答
16
投票

Bitnami 工程师在这里,

由于 Bitnami PostgreSQL 容器是非 root 容器,因此 id 1001 的用户需要对您正在挂载的本地文件夹具有写入权限。

sudo chown -R 1001:1001 /postgresql

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

https://github.com/bitnami/containers/blob/main/bitnami/postgresql/README.md#persisting-your-database

© www.soinside.com 2019 - 2024. All rights reserved.