热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

无法通过Docker中的node.js连接到MongoDB

如何解决《无法通过Docker中的node.js连接到MongoDB》经验,为你挑选了2个好方法。



1> messivanio..:

尝试:

mongodb.MongoClient.connect('mongodb://mongo:27017', ... );

改变你的docker-compose.yml:

version: "2"

services:

  web:
    build: .
    volumes:
      - ./:/app
    ports:
      - "3000:3000"
    links:
      - mongo

  mongo:
    image: mongo
    ports:
      - "27017:27017"

并使用一些docker compose命令:

docker-compose down
docker-compose build
docker-compose up -d mongo
docker-compose up web



2> Gideon Rosal..:

试试这个.

    使用链接的docker容器时,在这种情况下应使用容器的名称,例如,应该使用与mongodb的连接mongodb.MongoClient.connect('mongodb://mongo:27017', ... );而不是mongodb.MongoClient.connect('mongodb://localhost:27017', ... );.将它更改为mongo的原因是因为你在你的mongo中使用了links属性docker-compose.yml.这将导致您/etc/hosts的Web docker容器中的mongo主机名.引用链接容器.

    docker-compose.yml似乎缺乏一个缩进.在mongo属性上应该与web相同.

    version: '2'
    services:
      web:
       build: .
       volumes: ['./:/app']
       ports: [ '3000:3000' ]
       links: [ mongo ]
      mongo:
       image: mongo
       ports: [ '27017:27017' ]
    

    我用我的码头工人,香港专业教育学院做了什么尝试更新你的配置docker-compose.yml,然后我docker-compose build接着docker-compose up.我本地运行的日志


推荐阅读
author-avatar
Candy王丫丫
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有