本文主要介绍两款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管理,image管理。
*优点:*支持container批量操作;
支持image管理(虽然比较薄弱)
缺点:*不支持多主机。
dockerui-dashboard.png
dockerui-containers.png
dockerui-images.png
ShipyardShipyard也是完全基于Docker API,支持container管理、engine管理(一个engine就是监听tcp端口的docker daemon)。优点:支持多主机;
支持container及engine资源限制及图形展示;
支持container实例横向扩展;
支持批量创建;
支持创建时自动调度。
缺点:*不支持image管理;
不支持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 images
增加节点
[iyunv@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
|