采用docker镜像安装用浏览器访问mongodb副本集的方法

前文介绍了采用docker镜像的办法安装mongodb副本集的集群, 但是在使用Rockmongo进行管理时遇到点问题, 这里给出如何用docker安装一个镜像, 然后如何访问mongodb副本集的办法

关于Rockmongo 和他的传统安装方法参考:   MongoDB 管理工具: Rockmongo

本文采用docker的方法安装上述工具

一。 您需要准备好您的docker环境, 具体参考: Docker部署一个MongoDB集群

若是您没有虚拟机, 也可以参考前面的文章, 里面都有介绍, 尽管都很简陋,错误很多, 但是也应该能给您的参考。

二。 下载docker的镜像, 由于国内的网络条件, 因此您需要先下载相关镜像, 如是用了阿里的相关代理或者其他的加快方法就很好了, 否则您就像我一样, 先下载着, 然后去做别的事情, 估计开完会您回来, 也就下好了

下载命令如下:docker  pull   anapsix/rockmongo

 

三。 创建文件存储配置文件的目录

mkdir -p  /export/data/rockmongo     这里是我的安装目录, 您具体的要根据您的情况进行设置了。

四。 编辑配置文件如下:

cd /export/data/rockmongo   进入目录

vi config.php  编辑配置文件, 内容如下:

<?php
// >>>>>>>>>   这一段不用修改, 默认的, 除非您知道您在做什么
$MONGO = array();
$MONGO["features"]["log_query"] = "on";//log queries
$MONGO["features"]["theme"] = "default";//theme
$MONGO["features"]["plugins"] = "on";//plugins
// <<<<<<<<<

$i = 0;

// 1>>>>>>>>>>>>>>>>>    下面是 服务器1的相关配置
$MONGO["servers"][$i]["mongo_name"] = "mongoserver1";//mongo server name
$MONGO["servers"][$i]["mongo_host"] = "mongoserver1";//mongo host
// 上面两项要进行配置  一个显示名称, 一个是ip或者域名, 建议两个相同都是域名
// 然后在hosts文件中进行设置一致了, 并且在启动docker时做相关设置工作

// 下面几项  这个端口  您若是默认的就可以了, 若是变化了, 就需要修改了
$MONGO["servers"][$i]["mongo_port"] = "27017";//mongo port
$MONGO["servers"][$i]["mongo_timeout"] = 0;//mongo connection timeout
$MONGO["servers"][$i]["mongo_auth"] = true;//enable mongo authentication?

$MONGO["servers"][$i]["control_auth"] = true;//enable control users, works only if mongo_auth=false
$MONGO["servers"][$i]["control_users"]["admin"] = "admin";//one of control users ["USERNAME"]=PASSWORD, works only if mongo_auth=false

$MONGO["servers"][$i]["ui_only_dbs"] = "";//databases to display
$MONGO["servers"][$i]["ui_hide_dbs"] = "";//databases to hide
$MONGO["servers"][$i]["ui_hide_collections"] = "";//collections to hide
$MONGO["servers"][$i]["ui_hide_system_collections"] = false;//whether hide the system collections
// 1<<<<<<<<<<<<


$i ++;

// 2>>>>>>>>>>>>>>>>> 服务器2的配置
$MONGO["servers"][$i]["mongo_name"] = "mongoserver2";//mongo server name
$MONGO["servers"][$i]["mongo_host"] = "mongoserver2";//mongo host
// 上面两项要进行配置 一个显示名称, 一个是ip或者域名, 建议两个相同都是域名
// 然后在hosts文件中进行设置一致了, 并且在启动docker时做相关设置工作

// 下面几项 这个端口 您若是默认的就可以了, 若是变化了, 就需要修改了
$MONGO["servers"][$i]["mongo_port"] = "27017";//mongo port
$MONGO["servers"][$i]["mongo_timeout"] = 0;//mongo connection timeout
$MONGO["servers"][$i]["mongo_auth"] = true;//enable mongo authentication?

$MONGO["servers"][$i]["control_auth"] = true;//enable control users, works only if mongo_auth=false
$MONGO["servers"][$i]["control_users"]["admin"] = "admin";//one of control users ["USERNAME"]=PASSWORD, works only if mongo_auth=false

$MONGO["servers"][$i]["ui_only_dbs"] = "";//databases to display
$MONGO["servers"][$i]["ui_hide_dbs"] = "";//databases to hide
$MONGO["servers"][$i]["ui_hide_collections"] = "";//collections to hide
$MONGO["servers"][$i]["ui_hide_system_collections"] = false;//whether hide the system collections
// 2<<<<<<<<<<<<<<<<<<<<

$i ++; 

// 3>>>>>>>>>>>>>>>>>>> 服务器3的配置
$MONGO["servers"][$i]["mongo_name"] = "mongoserver3";//mongo server name
$MONGO["servers"][$i]["mongo_host"] = "mongoserver3";//mongo host
// 上面两项要进行配置  一个显示名称, 一个是ip或者域名, 建议两个相同都是域名
// 然后在hosts文件中进行设置一致了, 并且在启动docker时做相关设置工作

// 下面几项  这个端口  您若是默认的就可以了, 若是变化了, 就需要修改了
$MONGO["servers"][$i]["mongo_port"] = "27017";//mongo port
$MONGO["servers"][$i]["mongo_timeout"] = 0;//mongo connection timeout
$MONGO["servers"][$i]["mongo_auth"] = true;//enable mongo authentication?

$MONGO["servers"][$i]["control_auth"] = true;//enable control users, works only if mongo_auth=false
$MONGO["servers"][$i]["control_users"]["admin"] = "admin";//one of control users ["USERNAME"]=PASSWORD, works only if mongo_auth=false

$MONGO["servers"][$i]["ui_only_dbs"] = "";//databases to display
$MONGO["servers"][$i]["ui_hide_dbs"] = "";//databases to hide
$MONGO["servers"][$i]["ui_hide_collections"] = "";//collections to hide
$MONGO["servers"][$i]["ui_hide_system_collections"] = false;//whether hide the system collections
// 3<<<<<<<<<<<<<<<<


?>

最后保存编辑的文件

五。 运行下面的命令

docker run --name mongoadmin -d -p 5000:5000 \
           --add-host mongoserver1:192.168.128.189 \
           --add-host mongoserver2:192.168.128.133 \
           --add-host mongoserver3:192.168.128.132 \
           -v /export/data/rockmongo/config.php:/rockmongo/config.php \
           anapsix/rockmongo && docker logs -f mongoadmin

用上述命令, 启动程序

其中:
--add-host mongoserver1:192.168.128.189 是在容器里面 设置hosts文件, 这里的

mongoserver1 同前面的 config.php 中的名称要一样, ip地址要根据您本地的ip地址进行适当调整
/export/data/rockmongo/config.php:/rockmongo/config.php 是把我们自己编写的配置文件映射给

注意要添加您的防火墙, 把5000端口打开
firewall-cmd --permanent --add-port=5000/tcp 这个是 centos7上的,
若是您的linux同这个不同,可以百度解决。

六。 启动浏览器
在浏览器里面输入: http://192.168.128.132:5000/ 打开登录窗口

mongo管理系统rockmongo-登录界面
mongo管理系统rockmongo-登录界面

用户名和密码参见前面的 安装文档: Docker部署一个MongoDB集群

由于这个系统个 副本集, 在rockmongo具体如何配置没真正了解过
这里采用配置了3台机器, 然后您在登录时选择主的集群登录就可以了
若是登录后发现不是主, 退出在登录就可以, 如下:

mongo管理系统rockmongo-登录到从的情况
mongo管理系统rockmongo-登录到从的情况

经过尝试最后登录到正确的服务器后情况如下

mongo管理系统rockmongo界面
mongo管理系统rockmongo界面

发表评论