前言
- 目前使用的 DBeaver 社区版本没有mongoDB的连接,而创创建新的驱动要填写的URL模板,类名我也不知道如何填写
- mongodb的命令也不清楚,所以需要一个 web端来查看mongodb数据。于是有了3
- 搜索资料知道了 admin-mongo这个东西,使用docker run出来。
正文
一、 拉取admin-mongo镜像并构建mongoAdminService 容器
1.1 搜索并拉取镜像
docker search admin-mongo
拉取第一个
docke pull adicom/admin-mongo
因为我已经拉取过,所以 docker images
结果如下
1.2 构建mongoAdminService 容器
docker run -itd --name mongoAdminService -p 1234:1234 adicom/admin-mongo
mongoAdminService服务已经跑起来了,浏览器打开localhost:1234 ,成功运行,
二、mongoAdminService 连接 mongoService ,并查看数据
划重点 在这之前我并不知道该如何连接mongodb服务,连接的 stringUrl 长这样 mongodb://<user>:<password>@127.0.0.1:<port>/<db>
菜鸟教程中说如果只用默认的话,可以这样 mongodb://localhost
,因为在之前的docker run中,我的mongoService 没有添加auth,所以不需要账号密码。好现在按照mongodb://localhost
这样来
一直是报错,这个弄了很久。
解决 后来经过的分析,我的这两个服务(mongoAdminService和mongoService) 不是同一台主机,虽然他们在同一台宿主机运行,但是他们并不能通过 127.0.0.1:xxxx 这样,靠不同的端口来通信。这在填入localhost的时候就是一个很low的错误了。所以不同的运行中的容器都有自己独立的一个ip,但是都是在docker某个网段内的。(我不知道怎么查docker网段),那么我就去容器内容查询
果然有自己的ip 127.17.0.4,将这个填入 浏览器打开的页面中
终于成功了,然后来浏览之前一直想要浏览的信息
总结
- 当你陷入某个死结以及不能没有其他资料来解决某个问题的时候,可以考虑退一步,往它的上层想一想是什么原因导致问题出现。
- 对 docker 的搜索镜像,拉取镜像,构建容器,进入容器的操作更熟练了。
- 多台运行的容器,都在一个默认的网段内(前提是没有修改过),这样能保证容器间的通信。