Postgres docker有未知用户

时间:2019-06-03 22:24:40

标签: postgresql docker

这是我的docker compose文件:

version: '3.1'

services:

  db:
    image: postgres
    restart: always
    ports:
      - 5432:5432
    environment:
      POSTGRES_PASSWORD: authdb

  adminer:
    image: adminer
    restart: always
    ports:
      - 8080:8080

无论我在容器中键入什么...似乎都没有用户存在:

psql -U postgres

psql -U authdb

psql

psql -U root

psql -U test

无论如何,你会明白的。

用户是什么?

我正在使用最新版本的postgres,就像您在docker compose文件中看到的一样。

我可以列出用户吗?也许是docker postgres中的错误?

2 个答案:

答案 0 :(得分:0)

根据image description,应为“ postgres”,更多:

  

POSTGRES_USER   此可选的环境变量与POSTGRES_PASSWORD结合使用以设置用户及其密码。此变量将创建具有超级用户权限的指定用户和具有相同名称的数据库。如果未指定,则将使用 默认用户postgres

(我强调)

答案 1 :(得分:0)

这是解决方案:

help

似乎,如果您不指定数据库名称,它将无法正常工作。

我认为是因为它认为用户名和数据库名称是相同的。

非常奇怪,因为我在网上看到的示例都没有提到这一点。

另外,就像@hakre所说的那样,默认用户是psql -U test --dbname=authdb

第一次构建时,我以postgres作为用户名和密码。

这就是为什么在我的解决方案中我使用测试的原因。