本文主要介绍两款Docker Web管理工具:DockerUI及Shipyard,并对它们的部署、功能及使用进行对比。

部署方面

运行命令,如果没有镜像默认会进行下载创建
docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock dockerui/dockerui
输入IP:9000   进行访问,访问结果见下图
运行如下命令,同样,如果没有镜像,默认会创建

DockerUI部署很顺利,没遇到任何问题。Shipyard实际使用过程中遇到一些问题,
如:[iptables问题](
功能及使用体验方面
两者各有优缺点,比较适合配合使用。**DockerUI**DockerUI基于Docker API,
提供等同Docker命令行的大部分功能,支持container管理,p_w_picpath管理。
*优点:*支持container批量操作;
支持p_w_picpath管理(虽然比较薄弱)

缺点:*不支持多主机。


dockerui-dashboard.png


dockerui-containers.png


dockerui-p_w_picpaths.png


ShipyardShipyard也是完全基于Docker API,支持container管理、engine管理(一个engine就是监听tcp端口的docker daemon)。优点:支持多主机;
支持container及engine资源限制及图形展示;
支持container实例横向扩展;
支持批量创建;
支持创建时自动调度。

缺点:*不支持p_w_picpath管理;
不支持container批量操作。

CentOS7 上 Install Shipyard

# yum install docker
# systemctl restart docker
# docker login -u user-p password -e sample.aliyun.com registry.aliyuncs.com

# 上面docker加速一大段实际就下面这一句
# vi /etc/sysconfig/docker
# ADD_REGISTRY='--add-registry xxx.mirror.aliyuncs.com'

这里创建下载镜像的脚本

vi shipyard_pull.sh
#!/bin/bash
docker pull alpine
docker pull library/shipyard
docker pull library/rethinkdb 
docker pull microbox/etcd
docker pull shipyard/docker-proxy
docker pull swarm
docker pull shipyard/shipyard

执行脚本,bash shipyard_pull.sh

其实上面的脚本并不是必须执行的,这里如果没有镜像是会默认下载的。
$ curl -s https://shipyard-project.com/deploy | bash -s
Deploying Shipyard
-> Starting Database-> Starting Discovery
-> Starting Cert Volume
-> Starting Proxy
-> Starting Swarm Manager
-> Starting Swarm Agent-> Starting Controller

Shipyard available at   Username: admin Password: shipyard

# 如果想将安装重新来一遍
# for i in `docker ps |sed '1d'| awk '{print $NF}'`;do docker rm -f $i; done

# 停止运行镜像
# docker stop shipyard-proxy shipyard-certs shipyard-discovery 
shipyard-rethinkdb shipyard-swarm-agent shipyard-swarm-manager shipyard-controller

# 启动运行的镜像
# docker start shipyard-proxy shipyard-certs shipyard-discovery
 shipyard-rethinkdb shipyard-swarm-agent shipyard-swarm-manager shipyard-controller

# 查看运行的docker进程
# docker ps

# 查看下载的镜像
# docker p_w_picpaths

增加节点

[root@localhost ~]# curl -sSL https://shipyard-project.com/deploy | 
ACTION=node DISCOVERY=etcd://192.168.190.147:4001 bash -s Adding Node
-> Starting Cert Volume
-> Starting Proxy
-> Starting Swarm Manager
-> Starting Swarm Agent
Node added to Swarm: 192.168.190.148