当前位置: 首页 > 知识库问答 >
问题:

docker容器内的Mongodb连接问题

壤驷康裕
2023-03-14

我一直在尝试获取一个基本的nodeJS api来连接到mongo容器。这两个服务都是在docker compose中定义的。yml文件。我在这里和docker论坛上读到了无数类似的问题,都指出问题是您的mongo连接URI。这不是我的问题,你将在下面看到。docker编写。yml公司

在此输入图像描述

Dockerfile文件

在此输入图像描述

我一直在尝试获取一个基本的nodeJS api来连接到mongo容器。这两个服务都是在docker compose中定义的。yml文件。我在这里和docker论坛上读到了无数类似的问题,都指出问题是您的mongo连接URI。这不是我的问题,你将在下面看到。

docker编写。yml公司

版本:“3.7”

服务: api: build:./命令: npm run start: devworking_dir: /usr/src/api-boiler/restart:始终环境: PORT: 3001MONGODB_URI: mongoDB://mongoDB: 27017/TodoAppJWT_SECRET: asdkasd9a9sdn2r3513032链接:-mongoDB端口:-"3001:3001"卷: - ./:/usr/src/api-boster/depends_on:-mongoDB

MongoDB:镜像:mongo重启:始终卷:- /usr/local/var/mongodb:/data/db端口:- 27017:27017Dockerfile

来自节点:10.8.0

WORKDIR/usr/src/api锅炉

复制 . / . /

运行npm安装

CMD["/bin/bash"]

但无论api容器无法连接什么。我尝试将mongo uri设置为0.0.0.0:3001,但没有乐趣。我使用db检查了用于在容器中启动mongo的配置设置。serverCmdLineOpts()。并且,已传递命令bind\u ip\u all,因此mongo应该接受来自任何ip的连接。典型的问题是人们忘记了用mongo容器名替换localhost。如:mongodb://localhost:27017/nest

但是,这已经完成了。真是难住了。

日志-用于良好测量

在此输入图像描述

共有1个答案

相弘和
2023-03-14

试试这些,对我有用。无论您使用方法1还是方法2。首先使用robo3T或MongoDBcompass连接进行测试。

方法一

$ docker run --name mongodb -d -e MONGO_INITDB_ROOT_USERNAME=user -e MONGO_INITDB_ROOT_PASSWORD=pwd -v D:/Project/docker-demo/mdb:/data/db -p 27117:27017 mongo:5.0

方法2

内部docker compose。yml公司

version: '3'
services:
  standalone3:
    image: mongo:5.0
    ports:
      - 27217:27017
    environment:
      - MONGO_INITDB_ROOT_USERNAME=user
      - MONGO_INITDB_ROOT_PASSWORD=pwd
    volumes:
      - D:/Project/docker-demo/mdb2:/data/db
$ docker-compose -f docker-compose.yml up -d
 类似资料:
  • 问题内容: 我一直在尝试获取基本的nodeJS api以连接到mongo容器。两种服务都在docker- compose.yml文件中定义。我在这里和码头工人论坛上都读过无数类似的问题,所有这些都表明问题是您的mongo连接URI。这不是我的问题,您将在下面看到。 docker-compose.yml Docker文件 db / mongoose.js 设置mongodb连接 但是无论什么api容

  • 我一直在尝试获取一个基本的nodeJS api来连接到mongo容器。这两个服务都是在docker compose中定义的。yml文件。我在这里和docker论坛上读到了无数类似的问题,都指出问题是您的mongo连接URI。这不是我的问题,你将在下面看到。 docker编写。yml公司 文档文件 db/猫鼬。js设置mongodb连接 但无论api容器无法连接什么。我尝试将mongo uri设置为

  • 我的数据库连接是用下面的类处理的: 这是我的spring boot控制器 下面是我的dockerfile: 我读了这里和这里提到的解决方案。也阅读了一些教程,但我无法将这些解决方案中的任何一个适合我的代码。在我的代码中,我应该在哪里更改?

  • 问题内容: 我正在使用docker- compose 运行一个应用程序。一切正常,通过连接到容器内的Mongo,我可以看到所有数据。但是,当我连接到RoboMongo时,我看不到任何数据。 我该如何解决这个问题? 问题答案: 您应该在Docker容器内建立到MongoDB的Robomongo SSH隧道连接。首先,您应该在docker容器中安装一个ssh服务器。 https://docs.dock

  • 我正面临来自docker容器的MongoDB连接问题,我读了一些stackoverflow的答案,但没有帮助我解决我的问题。 我的application.yml文件有以下内容, 我的docker-compose文件有以下内容, 版本:'3.5'服务: sp-app-web-ui com.mongodb.mongosocketopenexception:异常打开socket sp-app-web-u

  • 我已经创建了一个mongodb副本集在3虚拟机,manasger1,worker1,worker2.副本集工作正常,我可以登录到服务器: 当我运行nodejs应用程序时,它会连接到副本集。问题是,当我为我的应用程序创建一个容器时,我遇到以下异常,我的容器停止运行,我不能再连接到副本集主副本集,而是连接到次副本集。 我用猫鼬打开了一张发行票据寻求帮助,但他们的解决方案不起作用(他们要求我从ip地址更