ECONNREFUSED ошибка в docker-compose с NodeJS и postgresql в облаке Google - PullRequest
0 голосов
/ 15 сентября 2018

Я создал свое приложение реагирования с Node.js и postgresql и развернул его в облаке Google.Я создал образ докера postgres и nodejs и загрузил изображения в концентратор докеров.Из gcloud я получил доступ к этим изображениям.

Это мой файл docker-compose-production.yml.

version: '2.0'
services:
  postgres:
    image : mycompany/myapp:pglatest
    restart : always
    volumes:
      - ./backdata/databackups:/var/lib/postgresql/backdata
    ports:
      - "5433:5432"

  backend:
    image: mycompany/myapp:nodelatest7
    command: npm run start
    ports:
      - "5001:5000"
    depends_on:
      - postgres
    environment:
      POSTGRES_URL: postgresql://postgres:root@postgres:5432/db_mydb 
      DEBUG: hms-backend:*

когда я запускаю команду

sudo docker-compose -f docker-compose-production.yml up --build -d

2 изображения созданы.

после того, как я выполнил команду tail

sudo docker-compose -f docker-compose-production.yml logs -t backend

Я получаю сообщение об ошибке как

backend_1 |2018-09-15T09: 12: 18.926001351Z REST API прослушивает порт 5000backend_1 |2018-09-15T09: 12: 18.937246598Z error {Ошибка: подключить ECONNREFUSED 192.168.80.2:5432backend_1 |2018-09-15T09: 12: 18.937268668Z в TCPConnectWrap.afterConnect [as oncomplete] (net.js: 1191: 14)backend_1 |2018-09-15T09: 12: 18.937280934Z errno: «ECONNREFUSED»,backend_1 |2018-09-15T09: 12: 18.937283960Z код: «ECONNREFUSED»,backend_1 |2018-09-15T09: 12: 18.937286817Z системный вызов: «соединение»,backend_1 |2018-09-15T09: 12: 18.937289488Z адрес: «192.168.80.2»,backend_1 |2018-09-15T09: 12: 18.937292260Z порт: 5432}

Как решить эту проблему

1 Ответ

0 голосов
/ 16 сентября 2018

Для меня ваш адрес postgres неправильный: postgresql: // postgres: root @ postgres: 5432 / db_mydb

Это должен быть postgresql: // postgres: root @ postgres: 5433 / db_mydb, поскольку postgres "выставил" порт в 5433

Hum, я думаю, вы должны добавить "container_name" в docker-compose

services:
  postgres:
     container_name: my_postgres  

и использовать это имя для "адреса"вашего postgres

postgresql: // my_postgres: root @ postgres: 5433 / db_mydb

...