将robomongo连接到mongoDB docker容器

mig*_*man 13 mongodb docker robo3t

我正在NodeJS使用docker-compose运行应用程序.一切正常,我可以通过连接到容器内的Mongo来查看我的所有数据.但是当我连接到RoboMongo时,我没有看到任何数据.

我该如何处理这个问题?

Max*_*rev 18

还有另一种方式.您可以

  1. 将Robomongo SSH连接到托管Docker应用程序的实际虚拟服务器(SSH选项卡,选中"使用SSH隧道"并相应地填写其他字段)
  2. 现在ssh进入终端的同一台机器.
  3. docker ps 应该显示你的MongoDB容器.
  4. docker inspect <mongo container id>将打印出有关该容器的完整信息.最后查找IPAddress,它将为您提供容器的本地IP.
  5. 在Robomongo的"连接"选项卡中使用该容器IP进行连接.

另一个注意事项: 确保不以任何方式暴露您的mongodb服务端口(Dockerfile和docker-compose.yml),因为这将使您的数据库可以从任何地方公开访问.假设您没有为该服务设置用户名/密码,您将很快被扫描和入侵.


Pra*_*ush 5

最简单的方法是启用转发 Mongo 容器本身,这是我的 docker-compose 的样子。

mongo:
  image: mongo
  restart: always
  ports:
    - 27017:27017
Run Code Online (Sandbox Code Playgroud)


And*_*nna 4

您应该在 docker 容器内与 MongoDB 建立 Robomongo SSH 隧道连接。首先,您应该在 docker 容器内安装 ssh 服务器。

https://docs.docker.com/engine/examples/running_ssh_service/


之后,您应该在 Robomongo 中配置您的连接。在“连接设置”内有 Robomongo 连接的配置选项卡。

转到“SSH”选项卡并配置与 docker 容器的 SSH 连接。之后,转到“连接”选项卡并配置与 MongoDB 的连接,就像在本地主机范围内一样。