【问题标题】:Postgres docker "User "postgres" has no password assigned."Postgres docker“用户“postgres”没有分配密码。”
【发布时间】:2019-04-15 10:07:55
【问题描述】:

我正在使用 docker 运行 Postgres 映像。它曾经在 Windows10 和 Ubuntu 18.04 上都可以正常运行。

在Ubuntu系统上重新克隆项目后,运行docker-compose up后给我password authentication failed for user "postgres"错误。

以前在Ubuntu系统上重新克隆项目之前运行没有任何问题,现在在Windows10系统上仍然可以正常运行。

我的docker-compose.yml

version: '2'

services:
  postgresql:
    image: 'bitnami/postgresql:latest'
    ports:
      - '5432:5432'
    environment:
      - POSTGRESQL_USERNAME=someuser
      - POSTGRESQL_PASSWORD=mysecretpassword
      - POSTGRESQL_DATABASE=mydatabase

我尝试sudo docker system prune 删除所有停止的容器及其未使用的网络。这并不能解决问题。

我需要更改/做什么才能使 Postgres 映像能够再次在 Ubuntu 系统上成功运行?

完整的错误:

postgresql_1  | nami    INFO  Initializing postgresql
postgresql_1  | postgre INFO  ==> No injected postgresql.conf file found. 
Creating default postgresql.conf file...
postgresql_1  | postgre INFO  ==> No injected pg_hba.conf file found. Creating default pg_hba.conf file...
postgresql_1  | postgre INFO  ==> Deploying PostgreSQL from scratch...
postgresql_1  | postgre INFO  ==> Creating database mydatabase...
postgresql_1  | postgre INFO  ==> Creating user "someuser"...
postgresql_1  | postgre INFO  ==> Granting access to "someuser" to the database mydatabase...
postgresql_1  | postgre INFO  ==> Configuring PostgreSQL...
postgresql_1  | postgre INFO  ==> Configuring replication parameters...
postgresql_1  | postgre INFO  ==> Configuring permissions for config files...
postgresql_1  | postgre INFO 
postgresql_1  | postgre INFO  
########################################################################
postgresql_1  | postgre INFO   Installation parameters for postgresql:
postgresql_1  | postgre INFO     User: someuser
postgresql_1  | postgre INFO     Password: ***************
postgresql_1  | postgre INFO     Database: mydatabase
postgresql_1  | postgre INFO   (Passwords are not shown for security reasons)
postgresql_1  | postgre INFO  
########################################################################
postgresql_1  | postgre INFO 
postgresql_1  | nami    INFO  postgresql successfully initialized
postgresql_1  | INFO  ==> Starting postgresql... 
postgresql_1  | 2019-04-15 09:31:18.582 GMT [125] LOG:  listening on IPv4 address "0.0.0.0", port 5432
postgresql_1  | 2019-04-15 09:31:18.583 GMT [125] LOG:  listening on IPv6 address "::", port 5432
postgresql_1  | 2019-04-15 09:31:18.587 GMT [125] LOG:  listening on Unix socket "/tmp/.s.PGSQL.5432"
postgresql_1  | 2019-04-15 09:31:18.599 GMT [132] LOG:  database system was shut down at 2019-04-15 09:31:18 GMT
postgresql_1  | 2019-04-15 09:31:18.603 GMT [125] LOG:  database system is ready to accept connections
postgresql_1  | 2019-04-15 09:31:24.414 GMT [139] FATAL:  password authentication failed for user "postgres"
postgresql_1  | 2019-04-15 09:31:24.414 GMT [139] DETAIL:  User "postgres" has no password assigned.
postgresql_1  |         Connection matched pg_hba.conf line 95: "host     all             all             0.0.0.0/0               md5"
postgresql_1  | 2019-04-15 09:31:27.492 GMT [140] FATAL:  password authentication failed for user "postgres"
postgresql_1  | 2019-04-15 09:31:27.492 GMT [140] DETAIL:  User "postgres" has no password assigned.

【问题讨论】:

    标签: postgresql docker docker-compose


    【解决方案1】:

    如果您查看 docker 映像 (https://hub.docker.com/r/bitnami/postgresql) 的文档,它会说当您设置 POSTGRESQL_USERNAME 时,不会为 postgres 用户分配密码,您将无法使用它登录到分贝。

    使用您指定的用户。

    【讨论】:

    • 感谢您的回复。在我的docker-compose.yml 中,我使用的是我指定的用户,但它仍然尝试以“postgres”用户身份登录。
    • “但它仍然试图以 postgres 身份登录”是什么意思?什么试图以“postgres”身份登录? POSTGRESQL_USERNAME 环境变量会将 postgresql 映像的入口点脚本告诉 create 具有您输入的名称的用户。然后您必须在您的应用程序或类似的应用程序中使用该用户。您似乎正在尝试使用 postgres 用户连接到数据库。
    • 我有一个 Django 应用程序,它使用数据库和用户也在 docker-compose.yml 中使用。运行 docker-compose up 后,我可以使用我的 Django 应用程序连接到数据库。
    • 那你能连接吗?我不明白那是什么问题。
    • 问题是在 Win10 和 Ubuntu 18.04 上运行 docker-compose up 导致 postgres db 正在设置并能够接受连接。但是,在 Ubuntu 系统上重新克隆项目后,运行 docker-compose up 不会设置数据库并且不接受连接。
    猜你喜欢
    • 2020-12-09
    • 2021-05-26
    • 2019-07-12
    • 1970-01-01
    • 2015-06-10
    • 2020-10-28
    • 2022-11-29
    • 2015-11-23
    • 1970-01-01
    相关资源
    最近更新 更多