简体   繁体   English

无法从 docker 容器中的 nodejs 服务器连接到 postgres、redis:获取连接 ECONNREFUSED

[英]Unable to connect to postgres, redis from nodejs server in docker container: getting connect ECONNREFUSED

-- Docker FIle -- Docker 文件

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'

I am able to access postgres, redis outside of container but nodejs app unable to connect to both & giving error我能够在容器外访问 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

So any idea, what I am doing wrong or what i missed.所以任何想法,我做错了什么或我错过了什么。

Your Node.js app should try to connect to redis:6379 .您的 Node.js 应用程序应该尝试连接到redis:6379 Change this in your application configuration.在您的应用程序配置中更改此设置。 At the moment it looks like it is trying to connect to localhost (which works probably when you run your server locally on the host).目前看起来它正在尝试连接到本地主机(当您在主机上本地运行服务器时,这可能会起作用)。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM