joh*_*ohn 32 postgresql docker docker-compose
您好,我在运行 docker-compose build up 后收到此错误
但我收到此错误 postgres_1 | 错误:数据库未初始化且未指定超级用户密码。
下面是我的 docker-compose.yml 文件
版本:'3.6'
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"
Run Code Online (Sandbox Code Playgroud)
Lab*_*ban 38
您可以POSTGRES_HOST_AUTH_METHOD
通过对docker-compose.yml
.
db:
image: postgres:9.6-alpine
environment:
POSTGRES_DB: "db"
POSTGRES_HOST_AUTH_METHOD: "trust"
Run Code Online (Sandbox Code Playgroud)
以上将解决错误。
小智 27
为避免这种情况,您可以在 docker-compose 文件中为 postgres 容器指定以下环境变量。
POSTGRES_PASSWORD 您使用 PostgreSQL 映像通常需要此环境变量。此环境变量设置 PostgreSQL 的超级用户密码。默认超级用户由 POSTGRES_USER 环境变量定义。
POSTGRES_DB 此可选环境变量可用于为首次启动映像时创建的默认数据库定义不同的名称。如果未指定,则将使用 POSTGRES_USER 的值。
有关环境变量的更多信息,请查看:https : //hub.docker.com/_/postgres
小智 10
在交互模式中已经提到了;如何运行容器,如果找不到,请使用以下内容:
要允许所有没有密码的连接,请使用:
要为超级用户指定 postgres 密码,请使用:
小智 7
总结一下 docker 官方网站上的命令:
docker run --name <YOUR_POSTGRES_DB> -e POSTGRES_PASSWORD=<YOUR_POSTGRES_PASSWORD> -d postgres
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
28773 次 |
最近记录: |