docker-compose with container mongo ECONNREFUSED

时间:2018-06-11 15:55:24

标签: node.js mongodb docker docker-compose mean-stack

我是docker的新手,所以我试图连接多个容器 - 蒙戈 - 我的应用 - 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:

对于mongo:

  

FROM mongo:2.6

     

COPY ./data ./

     

EXPOSE 27017

     

CMD [“mongod”]

用于服务节点:

  

FROM节点:4.4.7

     

WORKDIR / app

     

COPY / api ./

     

运行npm install

     

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

     

EXPOSE 8080

     

CMD [“node”,“index.js”]

服务回来:

  

FROM节点:4.4.7

     

WORKDIR / api

     

COPY。 ./

     

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

     

RUN bower install --allow-root&& gulp build

     

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

     

EXPOSE 8181

     

CMD [“node”,“index.js”]

你可以帮我解决这个问题吗?

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

我解决了我的问题,我使用的是docker-compose的第2版,但链接只能从版本3获得。 只需升级,它就可以正常工作。