docker的基本构建出来以后要考虑上层的管理的可视化,不能去登录一台一台的服务器去管理这些docker容器。 目前可视化做的比较好的有shipyard和dockerUI。

这里将介绍这两个的创建方法和相应的特点。

 


 首先是shipyard  


在网上找到有关shipyard的资料除了官网和git。其他大部分资料都是老版本python实现相关的,而现在已经采用go + Angular.js + semantic UI实现。

shipyard是在Docker Swarm实现对容器、镜像、docker集群、仓库、节点进行管理的web系统。采用golang调用Docker Remote API和angular.js+semantic UI实现web开发的。

github:https://github.com/shipyard/shipyard


1、shipyard部署

shipyard的部署非常简单,官方提供了在线的脚本通过命令进行安装,使用curl -s https://shipyard-project.com/deploy | bash -s命令进行安装即可。

汉化中文版 curl -sSL https://shipyard-project.com/deploy | bash -s

 deploy实际上是一个shell脚本,实现docker run启动shipyard依赖的容器。如果觉得每次通过curl启动不方便也可以将这个脚本下载到本地磁盘进行操作。
启动完成以后,在浏览器输入http://host:8080即可访问,默认用户名为admin密码为shipyard。

注意:由于deploy在执行时需要访问/var/run/docker.sock,所以需要root权限,或者为该文件添加权限。



2、shipyard的界面

浏览器输入http://host:8080即可访问,默认用户名为admin密码为shipyard

注意 : 本人用360浏览器没有成功(有点不专业)换用chrome就OK了

界面比较友好,不做过多介绍,主页面是这样的 

docker管理工具 shipyard 及 dockerUI_第1张图片



3、shipyard的生态


wKioL1ZC8myTG_HhAABPpLX6yzY746.png

shipyard是由shipyard控制器以及周围生态系统构成,以下按照deploy启动顺序进行介绍。

RethinkDB

deploy首先启动的就是RethinkDB容器,shipyard采用RethinkDB作为数据库来保存用户等信息

Discovery

为了使用Swarm,我们需要一个外部的密钥值存储群容器,shipyard默认是采用了etcd。

shipyard_certs

证书管理容器,实现证书验证功能

Proxy

默认情况下,Docker引擎只监听Socket,我们可以重新配置引擎使用TLS或者使用一个代理容器,转发请求从TCP到Docker监听的UNIX Socket。

Swarm Manager

Swarm管理器

Swarm Agent

Swarm代理,运行在每个节点上。

Controller

shipyard控制器,Remote API的实现和web的实现。


4、shipyard的其他选项

 deploy的帮助: curl -sSL https://shipyard-project.com/deploy | bash -s -- -h

docker管理工具 shipyard 及 dockerUI_第2张图片

可以查看这个部署脚本中相应模块的内容,根据自己的需要调用相关的模块和相应的参数。


这里说几个比较常用的:

   添加节点(192.168.1.60是我的shipyard所在的服务器)

curl -sSL https://shipyard-project.com/deploy | ACTION=node DISCOVERY=etcd://192.168.1.60:4001 bash -s

执行完后能够看到你添加的在shipyard中:

docker管理工具 shipyard 及 dockerUI_第3张图片


   删除shipyard(当然你要是不嫌麻烦也可以自己用命令删除)

curl -sSL https://shipyard-project.com/deploy | ACTION=remove


   

   升级shipyard容器

curl -sSL https://shipyard-project.com/deploy | ACTION=upgrade


 

然后是 dockerUI

    我以为这个是正版的太子,功能应该更加强大,搭出来发现跟我想的不太一样,我只能说比较轻量化,可能是有点不够明显吧!


1、dockerUI部署:


docker run -d -p 9000:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock dockerui/dockerui

启动完成以后,在浏览器输入http://host:8080即可访问,默认用户名为admin密码为shipyard。


2、dockerUI界面:

docker管理工具 shipyard 及 dockerUI_第4张图片

更多功能等待小伙伴们自己发现了。




总结一下

  docker                                                    dockerUI

优点:                                                       

支持多主机;                                             支持container批量操作;

支持container及engine资源限制及图形展示;                支持p_w_picpath批量操作;

支持container实例横向扩展;                              管理容器就一个,轻量化;

支持批量创建;                                           

支持创建时自动调度;

支持container批量操作;

支持console口连接容器。

缺点:          

不支持p_w_picpath的批量操作;                                  不支持批量创建;

相应的容器太多,客户端也需要启动4个容器。                不支持多主机。


总的来说,各有千秋吧,dockerUI适合一台主机的docker容器的简单管理,更加轻量化的部署和管理。

shipyard适合一定规模的主机,支持的功能较多。


有什么好的建议或者其他希望大家能够提出!