Docker Postgres服务不允许我连接到它

时间:2019-01-09 13:57:03

标签: node.js docker

我创建了一个docker-composer.yml文件,在其中添加了Postgres服务(v10.6)。一切顺利,但是当我尝试将其与User: postgresPassword: 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}"

我该怎么办?

2 个答案:

答案 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