Невозможно использовать Postgres DB в docker-compose - ECONNREFUSED - PullRequest
0 голосов
/ 12 июня 2018

У меня есть приложение Node.js и я настроил docker-compose.Я пытаюсь использовать Postgres DB в контейнере.

Вот docker-compose

version: "3"
services:
  web:
    build: .
    ports:
      - "3000:3000"
    links:
      - redis
      - db
  angular: # image of nginx
    image: "qp-angular-nginx"
    ports:
      - "4200:80" # specify port forewarding

  redis:
    image: "redis:3"
    ports:
     - "6379:6379"     
  db:
    image: "postgres:9.6"
    ports:
     - "5432:5432"
    environment:
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: postgres
    volumes:
         - pgdata:/var/lib/postgresql/data         
  dbadmin:
    image: "myimage/phppgadmin"
    ports:
         - "8085:80"
    environment:
        POSTGRES_HOST: db
        POSTGRES_PORT: 5432
volumes: 
     pgdata:

У меня успешно работают контейнеры и даже подключена база данных, но я получаю эту ошибку при выполнениизапрос БД

 "stack": {
        "code": "ECONNREFUSED",
        "errno": "ECONNREFUSED",
        "syscall": "connect",
        "address": "127.0.0.1",
        "port": 5432
    }

1 Ответ

0 голосов
/ 12 июня 2018

Если вы подключаетесь к базе данных из другого док-контейнера, используйте имя службы в строке подключения (db в вашем случае).Из сообщения об ошибке кажется, что что-то не так с вашей конфигурацией.Он пытается подключиться к localhost (127.0.0.1)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...