本文主要是介绍Docker可视化工具 DockerUI 和 Shipyard 的区别,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
DockerUI
优点
1 | 支持容器批量操作,可以修改容器配置(需要重启容器),查看日志、top等命令
2 | 支持image管理
3 | 支持网络管理,可以创建、修改等
4 | 支持镜像管理
5 | 支持查看拓扑
缺点
1 | 不支持多主机
2 | 不支持容器创建
3 | 不支持容器终端
部署
docker run -itd --memory 1g --cpuset-cpus=0 --name dockerui --hostname dockerui -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock docker.io/uifd/ui-for-docker
访问
http://宿主机IP:9000
=======================================================================
Shipyard
Shipyard是在Docker Swarm实现对容器、镜像、docker集群、仓库、节点进行管理的web系统。
特性
Shipyard是完全基于Docker API,支持container管理、engine管理(一个engine就是监听tcp端口的docker daemon)。
优点
1 | 支持多主机;
2 | 容器管理:除了管理生命周期外,还支持批量、终端、log、新增、伸缩、stats等等。
3 | 镜像管理:支持修改tag、pull等
4 | 新增仓库
缺点
1 | 不支持修改容器配置。
部署
Shipyard是一款开源的图形化的Docker管理工具,现在官方有了自动安装脚本,使用非常方便。
服务器端
curl -s https://shipyard-project.com/deploy | bash -s
Shipyard 启用了7个容器,默认访问端口是8080,默认用户名和密码是admin 和 shipyard
节点
加入服务器:
curl -sSL https://shipyard-project.com/deploy | ACTION=node DISCOVERY=etcd://服务器端地址:4001 bash -s
退出服务器
curl -sSL https://shipyard-project.com/deploy | ACTION=remove bash -s
了解Shipyard几个概念
engine
一个shipyard管理的docker集群可以包含一个或多个engine(引擎),一个engine就是监听tcp端口的docker daemon。
shipyard管理docker daemon、images、containers完全基于Docker API,不需要做其他的修改。
另外,shipyard可以对每个engine做资源限制,包括CPU和内存;
因为TCP监听相比Unix socket方式会有一定的安全隐患,所以shipyard还支持通过SSL证书与docker后台进程安全通信。
rethinkdb
RethinkDB是一个shipyard项目的一个docker镜像,用来存放账号(account)、引擎(engine)、服务密钥(service key)、
扩展元数据(extension metadata)等信息,但不会存储任何有关容器或镜像的内容。
Shipyard组件
shipyard是由shipyard控制器以及周围生态系统构成,以下按照deploy启动顺序进行介绍(下面几个就是shipyard使用脚本安装后,启动的几个容器名)
RethinkDB
deploy首先启动的就是RethinkDB容器,shipyard采用RethinkDB作为数据库来保存用户等信息
Discovery
为了使用Swarm,我们需要一个外部的密钥值存储群容器,shipyard默认是采用了etcd。
shipyard_certs
证书管理容器,实现证书验证功能
Proxy
默认情况下,Docker引擎只监听Socket,我们可以重新配置引擎使用TLS或者使用一个代理容器,转发请求从TCP到Docker监听的UNIX Socket。
Swarm Manager
Swarm管理器
Swarm Agent
Swarm代理,运行在每个节点上。
Controller
shipyard控制器,Remote API的实现和web的实现。
原文:https://blog.csdn.net/liyingke112/article/details/74930609
这篇关于Docker可视化工具 DockerUI 和 Shipyard 的区别的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!