本文主要介绍两款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
增加节点
[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
本文转自 sjfbjs 51CTO博客,原文链接:http://blog.51cto.com/11886896/1878435