Docker 管理工具(Shipyard&DockerUI)

字数 769阅读 9648

有了工具之后,为了管理方便/更专注于使用本身,就会衍生出很多管理类的工具,Docker也是如此,本篇主要介绍几款docker管理工具。

有一热门的文章:”十款非常好用的docker管理工具“,我以为都是同一类的管理工具,然后却是我想多啦(详见附录)。

1. Shipyard##

Shipyard一款WEB界面的docker管理工具,使用过程中涉及到几个模块-通讯方式,如下图:

docker-shipyard.jpg
一:proxy从/var/run/docker.sock这个unixsocket获取数据,并被动等待swarm-agent查询
二:swarm-agent通过proxy获取数据,并向etcd推送
以上两个 装在需要被管理的服务器上
三:etcd被动等待swarm-agent推送Docker主机的注册信息
四:swarm-manager使用etcd(shipyard-discovery)获取基本数据
五:shipyard 跟rethinkdb和swarm-manager进行通讯
官方提供的安装命令

#123服务器
docker run -ti -d --restart=always --name shipyard-rethinkdb rethinkdb
docker run -ti -d -p 54001:4001 -p 57001:7001 --restart=always --name shipyard-discovery  microbox/etcd -name discovery
docker run -ti -d -p 2375:2375 --hostname=192.168.220.123 --restart=always --name shipyard-proxy -v /var/run/docker.sock:/var/run/docker.sock -e PORT=2375 shipyard/docker-proxy:latest
docker run -ti -d --restart=always --name shipyard-swarm-manager swarm:latest manage --host tcp://0.0.0.0:3375 etcd://192.168.220.123:54001
docker run -ti -d --restart=always --name shipyard-swarm-agent swarm:latest join --addr 192.168.220.123:2375 etcd://192.168.220.123:54001
docker run -ti -d --restart=always --name shipyard-controller --link shipyard-rethinkdb:rethinkdb --link shipyard-swarm-manager:swarm  -p 58081:8080 shipyard/shipyard:latest server -d tcp://swarm:3375
#127服务器,shipyard有两个节点 一个是自己本身,一个是127
docker run -ti -d -p 2375:2375 --hostname=192.168.220.127 --restart=always --name shipyard-proxy -v /var/run/docker.sock:/var/run/docker.sock -e PORT=2375 shipyard/docker-proxy:latest
docker run -ti -d --restart=always --name shipyard-swarm-agent swarm:latest join --addr 192.168.220.127:2375 etcd://192.168.220.123:54001

IE访问:http://192.168.220.123:58081/
登录:admin/Shipyard

shipyard.jpg
镜像和容器都自动加载啦,功能模块:容器、镜像、节点、仓库、账号、事件等,重点在容器和镜像的管理。
容器-查看启动信息
启动信息.jpg

容器-监控(CPU、Memory、Network)
stats.jpg

容器-日志
日志.jpg

以及重启、停止、暂停、销毁、重命名、进控制台、复制启动容器(scale)等操作
当有多个节点时,使用pull images,会在每个节点上都下载images
点评:功能很实用,基本符合实际要求。

2. DockUI##

安装

docker run -d -p 59000:9000 --privileged -v /var/run/docker.sock:/var/run/docker.sock uifd/ui-for-docker

访问界面


dockerui.jpg

三大优点:
一:可以对运行着的容器进行批量操作
二:在容器网络中-会显示容器与容器间的网络关系
三:在Volumes中显示了所有挂载目录
对我当前需求而言,好想dockerui 和 shipyard能和二为一呀。
一个致命的缺点:
不支持多主机
容我想一下,如果我有N台docker主机时-我就需要一台台的用dockerui进行管理,想想都觉得麻烦。
就单台主机而言,dockerui是一款不错的管理工具。


附录:

  1. Kubernetes
    开发者:谷歌
    功能:可跨计算机集群部署容器,不需要开启网络端口或执行其他操作-容器可相互联系
    前途:未来可能会并入docker中
    点评:部分符合
  2. Dockersh
    功能:让多个用户可以连接到某个主机,每个用户都运行自行选择的单独的Docker容器所生成的外壳。
    用户有自己的主目录,并且可对主目录进行永久性修改,能看到属于自己的进程。
    点评:有点符合。
  3. DockerUI
    功能:通过Web浏览器的命令行来管理的任务。
  4. Shipyard
    功能:简化对横跨多个主机的Docker容器集群进行管理
    通过Web用户界面,你可以大致浏览相关信息,比如你的容器在使用多少处理器和内存资源、在运行哪些容器,还可以检查所有集群上的事件日志。
    点评:看起来蛮符合的。
  5. Kitematic
    功能:成为基于OS X的编程员们手里一款实用的桌面环境开发工具。
    点评:不符合本次主题
  6. Logspout
    功能:管理容器中应用的日志。
    点评:不符合本次主题
  7. Autodock
    功能:顾名思义:自动化Docker
    点评:不符合本次主题
  8. Docker-in-Docker
    功能:看英文名字比翻译要好呀。
    点评:不符合本次主题
  9. Heroku-Docker
    功能:用命令行将其Heroku项目转换成Docker镜像
    点评:不符合本次主题
  10. Docker Node Tester
    功能:测试Docker
    点评:虽然不符合本次主题-但貌似很强大呀。

推荐阅读更多精彩内容