尝试验证Docker容器内的postgres时收到此错误“错误:用户” root”的密码验证失败

时间:2019-06-01 04:06:20

标签: postgresql docker-compose apollo-server

我正在尝试运行一个连接到docker容器内的postgres的apollo服务器,但是即使使用正确的凭据也无法进行身份验证。我已经停止并删除了我的卷,还重新启动了Docker。

这是我的index.js

const { ApolloServer } = require('apollo-server-express')
const { Client } = require('pg')
const { postgres: { config } } = require('./config')
const cors = require('cors')
const express = require('express')
const typeDefs = require('./typeDefs')
const importResolvers = require('./resolvers')

const client = new Client(config)
const db = client.connect()
const resolvers = importResolvers(db)
const app = express()
const context = { db }

app.use(cors())

const server = new ApolloServer({
  typeDefs,
  resolvers,
  context
})

server.applyMiddleware({ app })

app.listen({ port: 4000 }, () => {
  console.log(` Server running at http://localhost:4000`)
})

我的docker-compose.yml

version: '3'
services:
  postgres:
    image: postgres
    restart: always
    ports:
      - '5432:5432'
    environment:
      POSTGRES_DB: default
      POSTGRES_USER: root
      POSTGRES_PASSWORD: 2107
    volumes:
      - ./db/init.sql:/docker-entrypoint-initdb.d/init.sql
      - postgres:/var/lib/postgresql/data
volumes:
  postgres:

我的config.js

PG_USER=root
PG_HOST=localhost
PG_DATABASE=default
PG_PASSWORD=2107
PG_PORT=5432

最后是错误:

(node:94021) UnhandledPromiseRejectionWarning: error: password authentication failed for user "root"
    at Connection.parseE (/Users/evellynmontalvao/projects/from-rest-to-graphql/node_modules/pg/lib/connection.js:602:11)
    at Connection.parseMessage (/Users/evellynmontalvao/projects/from-rest-to-graphql/node_modules/pg/lib/connection.js:399:19)
    at Socket.<anonymous> (/Users/evellynmontalvao/projects/from-rest-to-graphql/node_modules/pg/lib/connection.js:121:22)
    at Socket.emit (events.js:180:13)
    at addChunk (_stream_readable.js:274:12)
    at readableAddChunk (_stream_readable.js:261:11)
    at Socket.Readable.push (_stream_readable.js:218:10)
    at TCP.onread (net.js:581:20)

0 个答案:

没有答案