docker-与容器组合 mongo ECONNREFUSED

docker-compose with container 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:

对于 mongo:

FROM mongo:2.6

COPY ./data ./

EXPOSE 27017

CMD ["mongod"]

服务节点:

FROM node:4.4.7

WORKDIR /app

COPY /api ./

RUN npm install

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

EXPOSE 8080

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

返回服务:

FROM node:4.4.7

WORKDIR /api

COPY . ./

RUN npm install && npm install bower -g && npm install gulp -g

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

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

EXPOSE 8181

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

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

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

我解决了我的问题,我使用的是 docker-compose 的第 2 版,但链接仅适用于第 3 版。 只需升级即可正常使用。