【问题标题】:Docker is not creating databaseDocker 没有创建数据库
【发布时间】:2019-11-01 14:43:37
【问题描述】:

这是来自 docker-compose.yml 的代码

  postgres:
image: postgres:9.6
environment:
  POSTGRES_USER: test
  POSTGRES_DATABSE: test
  POSTGRES_PASSWORD: test
volumes:
  - pgdata:/var/lib/postgresql/data
ports:
  - 5432:5432

同样在 api 调用上获得角色不存在的响应

开启psql -h 127.0.0.1 -U test 得到回复psql: FATAL: role "test" does not exist

这是在我的计算机上使用 nginx,但在服务器上,也使用 nginx,这是错误

【问题讨论】:

  • 删除卷再试

标签: postgresql docker docker-compose psql postgresql-9.6


【解决方案1】:

POSTGRES_DATABASE 似乎拼写错误。其实应该是POSTGRES_DB。 Docker 自述文件位于https://hub.docker.com/_/postgres

此外,您可能需要添加一个初始化脚本来使用您希望使用的用户和角色来配置数据库。请参阅上述自述文件中的初始化脚本部分。

【讨论】:

  • 我已经尝试过 POSTGRES_DATABASE、POSTGRES_DATABSE 和 POSTGRES_DB
  • 如果您第一次错过了它,您应该在再次启动容器之前清理所有 docker 卷。 Postgres Docker entrypoint 具有仅在第一次启动时运行数据库/用户创建的逻辑(如果 Postgres 文件已经存在,它将跳过这些步骤)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-07
  • 2013-08-05
  • 1970-01-01
  • 1970-01-01
  • 2014-09-09
  • 1970-01-01
相关资源
最近更新 更多