【发布时间】:2020-02-26 19:12:16
【问题描述】:
您好,我在运行 docker-compose build up 后收到此错误
但是我得到了这个错误 postgres_1 |错误:数据库未初始化且未指定超级用户密码。
下面是我的 docker-compose.yml 文件
版本:'3.6'
Server.js 文件
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"
【问题讨论】:
-
数据库未初始化且未指定超级用户密码。这表明您必须使用正确的凭据创建数据库
-
POSTGRES_PASSWORD 可以放在与 docker-compose.yml 文件相同的目录中的 .env 文件中。 .env 文件可能如下所示:
POSTGRES_PASSWORD=password。 docker-compose.yml 文件可能如下所示:POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}. -
我下载了 postgres 图像并且有同样的错误,但我的桌面上没有任何
docker-compose.yml或Dockerfile。POSTGRES_HOST_AUTH_METHOD: "trust"放在哪里?我假设 postgres 在该容器内运行是正确的,还是主机系统应该运行它存在问题? -
其他答案涵盖了此处提到的解决方案,但此 CircleCI 论坛帖子提供了一些额外的上下文以及受影响的版本:PostgreSQL Image Password Not Specified Issue
标签: postgresql docker docker-compose