我创建了一个docker-composer.yml
文件,在其中添加了Postgres服务(v10.6)。一切顺利,但是当我尝试将其与User: postgres
和Password: postgres
连接时,出现以下错误:
psql: FATAL: password authentication failed for user "docker"
我的代码是:
version: '2'
services:
postgres:
container_name: "egn-postgres"
image: "postgres:10.6"
restart: always
ports:
- "${DB_PORT}:${DB_PORT}"
我该怎么办?
答案 0 :(得分:2)
我认为您忘记放置环境变量了,试试这个
version: '2'
services:
postgres:
container_name: "egn-postgres"
image: "postgres:10.6"
restart: always
ports:
- "${DB_PORT}:${DB_PORT}"
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
答案 1 :(得分:0)
正如@RickoThePow所说,您必须定义环境变量。
您可以使用他提出的解决方案:
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: postgres
或将单独的文件(postgres.env)用于:
POSTGRES_USER=postgres
POSTGRES_PASSWORD=postgres
POSTGRES_DB=postgres
然后调用docker-compose文件中的文件,例如:
version: '2'
services:
postgres:
container_name: "egn-postgres"
image: "postgres:10.6"
.
.
.
env_file: postgres.env