Невозможно подключиться к postgres, восстановить с сервера nodejs в контейнере docker: получение подключения ECONNREFUSED - PullRequest
0 голосов
/ 29 февраля 2020

- Docker FILE

FROM node:4.4.2
EXPOSE 3000
ENV NODE_ENV test
WORKDIR /app
COPY ["package.json", "npm-shrinkwrap.json*", "./"]
RUN npm install --silent
COPY . /app
CMD node server.js

- DOCKER -COMPOSE

version: "2"
services:
postgresql:
    image: postgres:9.5.21
    container_name: postgresql
    volumes:
        - '$HOME/DOCKER_VOLUME/db-data1:$HOME/DOCKER_VOLUME/var/lib/postgres'
    environment:
        POSTGRES_PASSWORD: <PWD>
        POSTGRES_DB: <DB>
        POSTGRES_USER: <UERS>
    ports:
        - '5432:5432'
redis:
    image: redis
    container_name: redis
    ports:
        - '6379:6379'
broker:
    image: eclipse-mosquitto
    container_name: mosquitto
    volumes:
        - $HOME/DOCKER_VOLUME/etc/mosquitto:$HOME/DOCKER_VOLUME/etc/mosquitto:ro
        - $HOME/DOCKER_VOLUME/var/log/mosquitto:$HOME/DOCKER_VOLUME/var/log/mosquitto:rw
    ports:
        - '1883:1883'
app:
    container_name: ms_user_manager
    environment:
        NODE_ENV: test
    build: .
    volumes:
        - .:/app
        - /app/node_modules
    depends_on:
        - postgresql
        - redis
        - broker
    ports:
        - '3000:3000'

Я могу получить доступ к postgres, redis вне контейнера, но nodejs приложение не может подключиться к обоим и выдает ошибку

Redis - connection to 0.0.0.0:6379 failed - connect ECONNREFUSED 0.0.0.0:6379"

Postgres - Error: connect ECONNREFUSED 0.0.0.0:5432

Так что любая идея, что я делаю не так или что я пропустил.

1 Ответ

1 голос
/ 29 февраля 2020

Ваше приложение Node.js должно попытаться подключиться к redis:6379. Измените это в конфигурации вашего приложения. На данный момент похоже, что он пытается подключиться к localhost (что работает, вероятно, при локальном запуске сервера на хосте).

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