文档章节

Docker的web端管理平台对比(DockerUI 、Shipyard、Portainer、Daocloud)

轻飞扬
 轻飞扬
发布于 2017/08/02 15:24
字数 1592
阅读 82
收藏 0

前言

最近,为了方便对命令行过敏的测试或开发人员,我决定部署一个可视化的管理平台来管理docker,在我重装十几次系统(当然,只是虚拟机镜像克隆),对比之后,终于选择了一款心仪的管理平台。

部署docker环境

安装/升级你的Docker环境,建议使用过阿里云的镜像仓库下载:mirrors.aliyun.com/help/docker-engine
或执行以下命令:

curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet | sh -

另外,建议使用阿里云的镜像加速,以方便后期pull 镜像。申请个人唯一加速地址cr.console.aliyun.com/
通过修改daemon配置文件/etc/docker/daemon.json来使用加速器:

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://***.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

DockerUI

DockerUI基于Docker API,提供等同Docker命令行的大部分功能。

部署

[root@localhost ~]# docker pull uifd/ui-for-docker 
Using default tag: latest
latest: Pulling from uifd/ui-for-docker
841194d080c8: Pull complete 
Digest: sha256:fe371ff5a69549269b24073a5ab1244dd4c0b834cbadf244870572150b1cb749
Status: Downloaded newer image for uifd/ui-for-docker:latest
[root@localhost ~]# docker run -it -d --name docker-web -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock docker.io/uifd/ui-for-docker
ac85040b8a9f2f203c22ba2e4d90a830e31d89a1d6ce77579a7b95de5da51e01

拉取镜像

docker pull uifd/ui-for-docker 

启动容器

docker run -it -d --name docker-web -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock docker.io/uifd/ui-for-docker 

界面

打开ip:9000,首页:


容器管理:


容器网络,这里可以显示容器与容器之间的关系。


容器管理:

 

总结

优点:

  1. 支持容器管理
  2. 支持镜像管理
  3. 基于docker api,自身也是一个容器。
  4. 稳定性高
  5. 可动态显示显示容器之间关系图
  6. 容器管理,增加端口映射,增加系统变量、映射目录等

缺点:

  1. 没有登录验证,因为没有登录体系,目前解决办法是,只开放本地访问,或者通过TLS来对权限进行控制。
  2. 无法分配某容器给某用户。
  3. 不支持多主机。
  4. 不支持集群swarm等
  5. 功能少
  6. 不支持控制台命令

结论

因为没有登录体系,所以很难在公司里流通。因为这样,每个人都可以去控制,即使通过TLS来控制权限,但无法将容器管理权限分配给某个用户,所以最终放弃该平台。

Shipyard

Shipyard是在Docker Swarm的基础上,管理Docker资源,包括容器,镜像,注册表等。

部署

这里以官网自动化部署为例,部署代码如下

curl -sSL https://shipyard-project.com/deploy | bash -s

注意:这将在端口2375上暴露Docker Engine。如果此节点可以在安全网络之外访问,建议使用TLS。

支持集群,所以可以添加节点:

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

其中上段代码中ip地址,为第一台服务器的ip地址。
结果它硬生生的启动了7个容器,其中2个swarm的容器

CONTAINER ID        IMAGE                          COMMAND                  CREATED             STATUS              PORTS                                            NAMES
fb81fb51d619        shipyard/shipyard:latest       "/bin/controller -..."   2 minutes ago       Up 37 seconds       0.0.0.0:8080->8080/tcp                           shipyard-controller
e9e462e168ea        swarm:latest                   "/swarm j --addr 1..."   2 minutes ago       Up 2 minutes        2375/tcp                                         shipyard-swarm-agent
8913ed62608d        swarm:latest                   "/swarm m --replic..."   2 minutes ago       Up 2 minutes        2375/tcp                                         shipyard-swarm-manager
ee1e25e0235d        shipyard/docker-proxy:latest   "/usr/local/bin/run"     2 minutes ago       Up 2 minutes        0.0.0.0:2375->2375/tcp                           shipyard-proxy
f10edb7eda1c        alpine                         "sh"                     3 minutes ago       Up 3 minutes                                                         shipyard-certs
6411b4226a6f        microbox/etcd:latest           "/bin/etcd -addr 1..."   3 minutes ago       Up 3 minutes        0.0.0.0:4001->4001/tcp, 0.0.0.0:7001->7001/tcp   shipyard-discovery
eaf008cbebae        rethinkdb                      "rethinkdb --bind all"   3 minutes ago       Up 3 minutes        8080/tcp, 28015/tcp, 29015/tcp                   shipyard-rethinkdb

增加节点的话,节点机器会自动运行5个容器,不得不说功能强大,还是有代价的。

界面

容器列表


容器详情


容器监控


容器控制台

 

总结

优点:

  1. 支持镜像管理、容器管理。
  2. 支持控制台命令
  3. 容器资源消耗监控
  4. 支持集群swarm,可以随意增加节点
  5. 支持控制用户管理权限,可以设置某个容器对某个用户只读、管理权限。
  6. 有汉化版

缺点

  1. 启动容器较多,占用每个节点的一部分资源
  2. 兼容性性不高,可能是我自身原因,经常打不开首页。

结论

总体上讲Shipyard功能强大,实用型高,支持集群,支持容器权限分配,是公司不二之选,但是考虑到暂时经常打不开首页,且占用每台服务器较多资源,暂时列为备选方案。

Portainer

Portainer是一款轻量级docker容器管理平台,占用资源少,支持集群,支持权限分配。

部署

docker run -d -p 9000:9000 portainer/portainer

部署Portainer来管理Swarm群集,也可以在Docker群集中直接部署Portainer作为服务。

docker service create \
--name portainer \
--publish 9000:9000 \
--constraint 'node.role == manager' \
--mount type=bind,src=//var/run/docker.sock,dst=/var/run/docker.sock \
portainer/portainer \
-H unix:///var/run/docker.sock

界面

首页面


镜像管理


用户管理


容器监控


节点管理


控制台

 

总结

优点

  1. 支持容器管理、镜像管理
  2. 轻量级,消耗资源少
  3. 基于docker api,安全性高,可指定docker api端口,支持TLS证书认证。
  4. 支持权限分配
  5. 支持集群

缺点

  1. 功能不够强大。
  2. 容器创建后,无法通过后台增加端口。

结论

虽然Portainer存在一些问题,但已经可以满足基本需求,且支持权限分配,最终我选择了它。

Daocloud

Daocloud 是一个老牌的第三方管理平台,可以自由增加机器节点,功能极其强大。

部署

登录注册dashboard.daocloud.io
增加主机节点

curl -sSL https://get.daocloud.io/daomonit/install.sh | sh -s ****密钥

界面

容器列表


容器日志


容器管理


可部署多个容器,扩容


镜像平台

 

总结

优点:

  1. 支持镜像管理、容器管理。
  2. 支持控制台命令
  3. 容器资源消耗监控
  4. 支持集群可以随意增加节点
  5. 中文平台
  6. 镜像下载
  7. 容器扩容、管理

缺点

  1. 管理平台无法部署到本地服务器
  2. 部分高级功能收费

结论

因为闭源,且收费,暂且团队放弃它,,但作为自己测试使用,强烈推荐使用它,因为我们点点鼠标即可轻松部署一个强大的管理docker平台。

最终总结

经过对docker管理平台的分析,相信大家一定有了自己的认识,有条件可以自己尝试下部署,如果有新的心得体会或者更好的平台记得告诉我哦

本文转载自:https://juejin.im/post/596587a56fb9a06baa63d435

共有 人打赏支持
轻飞扬
粉丝 1
博文 10
码字总数 4138
作品 0
南京
私信 提问
Docker容器学习梳理--web管理工具(1)

DockerUI优点: 1)支持container批量操作; 2)支持image管理(虽然比较薄弱) DockerUI缺点: 不支持多主机。 下面记录在DockerUI管理环境的部署过程: 1)首先拉去dockerUI镜像 如下: [r...

有功夫
07/03
0
0
docker swarm集群及其UI部署

一、规划 ①swarm01作为manager节点,swarm02和swarm03作为worker节点。 # cat /etc/hosts127.0.0.1 localhost192.168.139.175 swarm01 192.168.139.176 swarm02 192.168.139.177 swarm03 ②......

心远何方
06/27
0
0
Docker的WEB管理界面shipyard

Docker 的命令行就已经很好用了,如果非要加上基于 Web 的管理界面的话也有一些选择,如 DockerUI (Angular.js), Dockland (Ruby), Shipyard (Python/Django) 等,不过目前来看 Shipyard 项目...

呆头呆脑
2013/11/21
0
7
我是如何重构整个研发项目,促进自动化运维DevOps的落地?

为了这篇文章,我前后写了将近十篇文章铺垫,才将这篇整体重构思想引出。 背景 先说下背景,我们是一家小公司,虽然打着做产品的旗帜,但是每个客户都有大量的个性化功能,这里指各个客户的j...

邵磊
2017/10/14
0
0
Docker整合Portainer界面化管理-单机版(Swarm后面会加上)

一、docker正常启动(省略) 二、拉取portainer镜像:docker pull docker.io/protainer/portainer 镜像名打了tag:docker tag docker.io/portainer/portainer portainer 三、查看镜像 docker i......

WALK_MAN
05/14
0
0

没有更多内容

加载失败,请刷新页面

加载更多

最重要的是做什么,而不是怎么做。

最重要的是做什么,而不是怎么做。 做什么是战略,怎么做是战术。将军下令说,天黑前拿下这座山头,这是战略。手下的士兵可以不知道为什么要拿下这座山头,还非得是天黑之前,但士兵必须知道...

我是菜鸟我骄傲
今天
1
0
w, vmstat, top, sar, nload命令查看系统状态信息

w/uptime 查看系统负载 cat /proc/cpuinfo 查看cpu核数 vmstat 监控系统状态,用法 vmstat 1,关键的几列: r, b, swpd, si, so, bi, bo, us, wa top 查看进程使用资源情况 top -c 显示详细的...

野雪球
今天
2
0
小白创建一个spring boot项目

进入 https://start.spring.io/

lilugirl
今天
3
0
Alibaba Java诊断利器Arthas实践--使用redefine排查应用奇怪的日志来源

背景 随着应用越来越复杂,依赖越来越多,日志系统越来越混乱,有时会出现一些奇怪的日志,比如: [] [] [] No credential found 那么怎样排查这些奇怪的日志从哪里打印出来的呢?因为搞不清...

hengyunabc
今天
2
0
home hosts

home hosts lwk@qwfys:~$ cat /etc/hosts127.0.0.1 localhost127.0.1.1 qwfys192.168.56.101vm600.qwfys.com39.108.212.91alpha1.ppy.com39.108.117.122alpha2.p......

qwfys
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部