文档章节

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

轻飞扬
 轻飞扬
发布于 2017/08/02 15:24
字数 1592
阅读 57
收藏 0
点赞 0
评论 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
南京
可持续自动化构建微服务(8)搭建 Portainer 可视化界面

第八章 安装 Protainer 8、 搭建 Portainer 可视化界面 8.1 swarm 主节点操作 (192.168.33.21) 8.1.1 下载 portainer 镜像 命令:docker pull portainer/portainer 8.1.2 启动 portainer 命令......

jato333 ⋅ 05/28 ⋅ 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

Docker图形化管理工具--Portainer简介及部署

1、 Portainer简介 Portainer是Docker的图形化管理工具,提供状态显示面板、应用模板快速部署、容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作)、事件日志显示、容器控制...

槑槑的嫑嫑 ⋅ 04/28 ⋅ 0

Docker Config 管理 Spring Boot 应用配置

1、构建 Spring Boot 应用镜像 使用 ENTRYPOINT ,可在 Docker 命令后面添加额外参数, 比如 等等 2、创建 Docker config 不同环境、不同应用创建不同的配置 此处用可视化工具来创建是为了更...

Anoyi ⋅ 05/30 ⋅ 0

Docker管理工具Web UI:DockerUI & Shipyard

本文主要介绍两款Docker Web管理工具:DockerUI及Shipyard,并对它们的部署、功能及使用进行对比。 部署方面 运行命令,如果没有镜像默认会进行下载创建docker run -d -p 9000:9000 -v /var/...

sjfbjs ⋅ 2016/12/01 ⋅ 0

docker 学习笔记(一)Docker的介绍与安装使用

Docker的介绍与安装使用 标签(空格分隔): docker的部分 一: docker 的介绍 1.1 docker是什么 供接口。Shim:只负责管理一个容器。runC:是一个轻量级的工具,只用来运行容器。 命名空间,...

flyfish225 ⋅ 05/13 ⋅ 0

Docker集中化web界面管理平台-Shipyard部署记录

之前介绍了DOcker的web管理工具DockerUI,下面介绍下Docker的另一个web界面管理工具Shipyard的使用。Shipyard(github)是建立在docker集群管理工具Citadel之上的可以管理容器、主机等资源的...

吞吞吐吐的 ⋅ 2017/10/13 ⋅ 0

docker swarm集群搭建及使用Portainer、shipyard

一、规划 1、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 2......

yzy121403725 ⋅ 01/12 ⋅ 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 ②......

结束的伤感 ⋅ 2017/08/04 ⋅ 0

Docke的WEB管理工具

一、shipyard 1.1 概述 Shipyard也是完全基于Docker API,支持container管理、engine管理(一个engine就是监听tcp端口的docker daemon)。 优点: 缺点: 1.2 相关组件 > shipyard依赖的容器...

KaliArch ⋅ 2017/12/22 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

SpringBoot集成Druid的最简单的小示例

参考网页 https://blog.csdn.net/king_is_everyone/article/details/53098350 建立maven工程 Pom文件 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM......

karma123 ⋅ 50分钟前 ⋅ 0

Java虚拟机基本结构的简单记忆

Java堆:一般是放置实例化的对象的地方,堆分新生代和老年代空间,不断未被回收的对象越老,被放入老年代空间。分配最大堆空间:-Xmx 分配初始堆空间:-Xms,分配新生代空间:-Xmn,新生代的大小一...

算法之名 ⋅ 今天 ⋅ 0

OSChina 周日乱弹 —— 这么好的姑娘都不要了啊

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @TigaPile :分享曾惜的单曲《讲真的》 《讲真的》- 曾惜 手机党少年们想听歌,请使劲儿戳(这里) @首席搬砖工程师 :怎样约女孩子出来吃饭,...

小小编辑 ⋅ 今天 ⋅ 7

Jenkins实践3 之脚本

#!/bin/sh# export PROJ_PATH=项目路径# export TOMCAT_PATH=tomcat路径killTomcat(){pid=`ps -ef | grep tomcat | grep java|awk '{print $2}'`echo "tom...

晨猫 ⋅ 今天 ⋅ 0

Spring Bean的生命周期

前言 Spring Bean 的生命周期在整个 Spring 中占有很重要的位置,掌握这些可以加深对 Spring 的理解。 首先看下生命周期图: 再谈生命周期之前有一点需要先明确: Spring 只帮我们管理单例模...

素雷 ⋅ 今天 ⋅ 0

zblog2.3版本的asp系统是否可以超越卢松松博客的流量[图]

最近访问zblog官网,发现zlbog-asp2.3版本已经进入测试阶段了,虽然正式版还没有发布,想必也不久了。那么作为aps纵横江湖十多年的今天,blog2.2版本应该已经成熟了,为什么还要发布这个2.3...

原创小博客 ⋅ 今天 ⋅ 0

聊聊spring cloud的HystrixCircuitBreakerConfiguration

序 本文主要研究一下spring cloud的HystrixCircuitBreakerConfiguration HystrixCircuitBreakerConfiguration spring-cloud-netflix-core-2.0.0.RELEASE-sources.jar!/org/springframework/......

go4it ⋅ 今天 ⋅ 0

二分查找

二分查找,也称折半查找、二分搜索,是一种在有序数组中查找某一特定元素的搜索算法。搜素过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜素过程结束;如果某一特定元素大于...

人觉非常君 ⋅ 今天 ⋅ 0

VS中使用X64汇编

需要注意的是,在X86项目中,可以使用__asm{}来嵌入汇编代码,但是在X64项目中,再也不能使用__asm{}来编写嵌入式汇编程序了,必须使用专门的.asm汇编文件来编写相应的汇编代码,然后在其它地...

simpower ⋅ 今天 ⋅ 0

ThreadPoolExecutor

ThreadPoolExecutor public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, ......

4rnold ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部