首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“如何修复错误”错误:数据库未初始化且未指定超级用户密码。

“如何修复错误”错误:数据库未初始化且未指定超级用户密码。
EN

Stack Overflow用户
提问于 2020-02-26 19:12:16
回答 6查看 54.6K关注 0票数 58

你好,在运行docker-组合构建之后,我得到了这个错误。

但是我得到了这个错误:数据库未初始化,并且没有指定超级用户密码。

这是一个错误的快照!

下面是我的docker-compose.yml文件

版本:“3.6”

Server.js文件

代码语言:javascript
复制
services: 
  smart-brain-api:
    container_name: backend
    build: ./
    command: npm start
    working_dir: /usr/src/smart-brain-api
    ports:
      - "3000:3000"
    volumes:
      - ./:/usr/src/smart-brain-api
 
  #PostGres Database
 
  postgres:
    image: postgres
    ports:
      - "5432:5432"
EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2020-02-26 23:54:51

为了避免这种情况,您可以在docker文件中为postgres容器指定以下环境变量。

POSTGRES_PASSWORD这个环境变量通常是您使用PostgreSQL映像所必需的。此环境变量设置PostgreSQL的超级用户密码。默认超级用户由POSTGRES_USER环境变量定义。

POSTGRES_DB此可选环境变量可用于为第一次启动映像时创建的默认数据库定义不同的名称。如果没有指定它,那么将使用POSTGRES_USER的值。

有关环境变量的更多信息,请检查:https://hub.docker.com/_/postgres

票数 41
EN

Stack Overflow用户

发布于 2020-03-14 08:17:02

可以通过对POSTGRES_HOST_AUTH_METHOD环境进行以下更改来使用docker-compose.yml环境属性。

代码语言:javascript
复制
db:
    image: postgres:9.6-alpine
    environment:
      POSTGRES_DB: "db"
      POSTGRES_HOST_AUTH_METHOD: "trust"

以上将解决此错误。

票数 55
EN

Stack Overflow用户

发布于 2020-09-29 03:11:30

在交互模式中已经提到了;如果找不到容器,如何运行它,请使用以下方法:

若要允许不使用密码的所有连接:

  • docker运行-e POSTGRES_HOST_AUTH_METHOD=trust postgres:9.6 (使用所需的标记)。

若要为超级用户指定postgres密码,请使用:

  • docker运行-e POSTGRES_PASSWORD= postgres:9.6 (使用所需的标记)。
票数 28
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60420940

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档