【问题标题】:connecting two docker containers nodejs and mongodb [duplicate]连接两个 docker 容器 nodejs 和 mongodb [重复]
【发布时间】:2021-01-09 17:41:38
【问题描述】:

我正在尝试使用网络 docker 连接两个容器,但由于某种原因出现错误:

MongoNetworkError:第一次连接时无法连接到服务器 [db:27017] [错误:连接 ECONNREFUSED 172.22.0.3:27017

有什么建议吗?

谢谢!

docker-compose.yml

version: '3'

services:
  nodejs:
    build:
      context: .
      dockerfile: Dockerfile.dev
    image: nodejs
    container_name: nodejs
    restart: unless-stopped
    env_file: 
      - .env
    environment:
      - MONGO_USERNAME=$MONGO_USERNAME
      - MONGO_PASSWORD=$MONGO_PASSWORD
      - MONGO_HOSTNAME=db
      - MONGO_PORT=$MONGO_PORT
      - MONGO_DB=$MONGO_DB 
    ports:
      - "3000:3000"
    volumes:
      - .:/home/node/app
      - node_modules:/home/node/app/node_modules
    networks:
      - app-network
    command: /home/node/app/node_modules/.bin/nodemon app.js
  db:
    image: mongo:4.2.9-bionic
    container_name: db
    restart: unless-stopped
    env_file: 
      - .env
    environment: 
      - MONGO_INITDB_ROOT_USERNAME=$MONGO_USERNAME
      - MONGO_INITDB_ROOT_PASSWORD=$MONGO_PASSWORD
    volumes:
      - dbdata:/data/db
    networks:
      - app-network
networks:
  app-network:
    driver: bridge
volumes:
  dbdata:
  node_modules:

【问题讨论】:

    标签: node.js mongodb docker


    【解决方案1】:

    当您的 Node.js 应用程序尝试连接到容器内的 MongoDB 时,是否可能尚未启动?

    您应该尝试将nodejs 服务标记为dependent on db 服务。

    【讨论】:

    • 我按照你的建议做了,现在可以连接到容器了,谢谢 ;)
    猜你喜欢
    • 2017-10-13
    • 1970-01-01
    • 1970-01-01
    • 2018-03-01
    • 2019-05-24
    • 2019-02-24
    • 1970-01-01
    • 1970-01-01
    • 2021-11-24
    相关资源
    最近更新 更多