前言
想不想试试网页版本的MongoDB客户端,麻雀虽小但是功能强大。导入导出,创建数据库,表,document等等功能都有哦
别人看到时候肯定要问你用的这是神马MongoDB客户端,为什么这么有逼格?
一步搞定
docker run -it -d --name mongo-client -e ME_CONFIG_MONGODB_SERVER=10.100.49.148 -e ME_CONFIG_MONGODB_PORT=27077 -p 8081:8081 mongo-express
依次解释各个参数
docker run : 用docker命令运行一个容器
这里我们需要给容器传入俩个参数:
ME_CONFIG_MONGODB_SERVER : mongodb数据库的ip地址
ME_CONFIG_MONGODB_PORT : MongoDB所使用的端口
接下来测试一下
打开浏览器访问 http://<your-host-machine-ip>:8081
, 这里我的地址是:http://10.100.49.148:8081/
总结
当然这个MongoDB网页版客户端最大的弊端就是不能在网页上切换MongoDB的ip地址,因为我们在开发环境往往在多台机器上面部署有MongoDB服务,但是这个客户端一次只能对应着一个MongoDB服务。
例如:运行docker容器时候传入的那俩个参数server还有port,在运行容器的时候我们就已经指定了相应的MongoDB服务。
常见问题
数据库连接不成功?容器内部的服务无法被外部访问?
- 检查docker宿主机器是否开启了防火墙,如果有请关闭防火墙。或者将宿主机器的端口加入到防火墙白名单。容器的端口没有关系,不需要做什么。
- docker运行容器时,千万不能忘记 -p 参数,这个参数决定了docker 容器内部的服务可以被外部访问
- 用docker container ls检查你的容器是否启动成功了,很多情况不要忘记了 -d 参数,这个参数可以让容器后台运行。
几天之后再使用docker,找不到此命令?容器也不在了?
- 很可能是你的宿主机器重启了,你需要重新启动docker服务,这很简单,尝试:
service start docker 或者 systemctl start docker
同理既然你的docker服务都重启了,那么你的容器也是需要被重启的,因为他们现在都处于stop状态,可以尝试:
//查看所有的docker容器,包括运行中的、停止的。 docker container ls -a // 输入你要启动的容器名称,它可以是一个名字也可以是一串字符串ID docker start <your container name>
- 很可能是你的宿主机器重启了,你需要重新启动docker服务,这很简单,尝试:
如果你怎么都尝试不成功,可以试试docker重启大法,这不是开玩笑,非常有效!
systemctl stop docker systemctl start docker