Docker的web端管理平台对比(DockerUI 、Shipyard、Portainer、Daocloud)
前言最近,为了方便对命令行过敏的测试或开发人员,我决定部署一个可视化的管理平台来管理docker,在我重装十几次系统(当然,只是虚拟机镜像克隆),对比之后,终于选择了一款心仪的管理平台。部署docker环境安装/升级你的Docker环境,建议使用过阿里云的镜像仓库下载:mirrors.aliyun.com/help/docker-engine或执行以下命令:curl -sSL http://ac
前言
最近,为了方便对命令行过敏的测试或开发人员,我决定部署一个可视化的管理平台来管理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 镜像。申请个人唯一加速地址https://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,首页:
容器管理:
容器网络,这里可以显示容器与容器之间的关系。
容器管理:
总结
优点:
- 支持容器管理
- 支持镜像管理
- 基于docker api,自身也是一个容器。
- 稳定性高
- 可动态显示显示容器之间关系图
- 容器管理,增加端口映射,增加系统变量、映射目录等
缺点:
- 没有登录验证,因为没有登录体系,目前解决办法是,只开放本地访问,或者通过TLS来对权限进行控制。
- 无法分配某容器给某用户。
- 不支持多主机。
- 不支持集群swarm等
- 功能少
- 不支持控制台命令
结论
因为没有登录体系,所以很难在公司里流通。因为这样,每个人都可以去控制,即使通过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个容器,不得不说功能强大,还是有代价的。
界面
容器列表
容器详情
容器监控
容器控制台
总结
优点:
- 支持镜像管理、容器管理。
- 支持控制台命令
- 容器资源消耗监控
- 支持集群swarm,可以随意增加节点
- 支持控制用户管理权限,可以设置某个容器对某个用户只读、管理权限。
- 有汉化版
缺点
- 启动容器较多,占用每个节点的一部分资源
- 兼容性性不高,可能是我自身原因,经常打不开首页。
结论
总体上讲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
界面
首页面
镜像管理
用户管理
容器监控
节点管理
控制台
总结
优点
- 支持容器管理、镜像管理
- 轻量级,消耗资源少
- 基于docker api,安全性高,可指定docker api端口,支持TLS证书认证。
- 支持权限分配
- 支持集群
缺点
- 功能不够强大。
- 容器创建后,无法通过后台增加端口。
结论
虽然Portainer存在一些问题,但已经可以满足基本需求,且支持权限分配,最终我选择了它。
Daocloud
Daocloud 是一个老牌的第三方管理平台,可以自由增加机器节点,功能极其强大。
部署
登录注册https://dashboard.daocloud.io
增加主机节点
curl -sSL https://get.daocloud.io/daomonit/install.sh | sh -s ****密钥
界面
容器列表
容器日志
容器管理
可部署多个容器,扩容
镜像平台
总结
优点:
- 支持镜像管理、容器管理。
- 支持控制台命令
- 容器资源消耗监控
- 支持集群可以随意增加节点
- 中文平台
- 镜像下载
- 容器扩容、管理
缺点
- 管理平台无法部署到本地服务器
- 部分高级功能收费
结论
因为闭源,且收费,暂且团队放弃它,,但作为自己测试使用,强烈推荐使用它,因为我们点点鼠标即可轻松部署一个强大的管理docker平台。
最终总结
经过对docker管理平台的分析,相信大家一定有了自己的认识,有条件可以自己尝试下部署,如果有新的心得体会或者更好的平台记得告诉我哦。
觉得好的话,记得关注我哦!
掘金:
https://juejin.im/user/57cd55218ac247006459c40c
Github:
https://github.com/qq273681448
更多推荐
所有评论(0)