首页 > 解决方案 > docker-compose 与容器 mongo ECONNREFUSED

问题描述

我是 docker 的新手,所以我尝试连接多个容器 - mongo - 我的应用程序 - redis,我在 chrome=> 中收到此错误code: "ECONNREFUSED", errno: "ECONNREFUSED", syscall: "connect", address: "127.0.0.1", port: 8080}

这是我的 docker-compose 文件:

version: "2"

services:
  mongo:
    image: "mongo"
    restart: always
    ports:
      - "27017:27017"
    networks:
     -  all
  redis:
    image: "redis:3.2.1"
    networks:
     -  all
  node:
    image: "project"
    links:
      - mongo
    ports:
      - "8080:8080"
    networks:
     -  all
  backoffice:
    image: "back"
    links:
      - node
      - mongo
      - redis
    depends_on:
      - mongo
      - node
      - redis
    ports:
      - "8181:8181"
    networks:
     -  all

networks:
  all:
    driver: bridge

我的不同 Dockerfile:

对于蒙戈:

从蒙戈:2.6

复制./数据./

暴露 27017

CMD ["mongod"]

对于服务节点:

从节点:4.4.7

工作目录 /app

复制 /api ./

运行 npm 安装

运行 apt-get -q update && apt-get install -y -qq \ git \ curl

曝光 8080

CMD ["node","index.js"]

回服务:

从节点:4.4.7

工作目录 /api

复制 。./

运行 npm install && npm install bower -g && npm install gulp -g

运行 bower install --allow-root && gulp build

运行 apt-get -q update && apt-get install -y -qq \ git \ curl

暴露 8181

CMD ["node","index.js"]

你能帮我解决这个问题吗?

标签: node.jsmongodbdockerdocker-composemean-stack

解决方案


可能您的端口 8080 已在使用中。打开你的 cmd 并输入 netstat -a。这是为了检查端口的可用性。


推荐阅读