基于Docker API,提供等同Docker命令行的大部分功能,支持container管理,image管理。
web页面查看和管理容器和镜像,均能批量管理容器的生命周期管理
dockerui能修改容器配置
dockerui能管理和新增网络
dockerui能新增volume
Shipyard能创建容器
Shipyard能拉取镜像
Shipyard能多主机管理,支持节点动态集群,可扩展节点的规模(swarm、etcd方案)
Shipyard能管理仓库
Shipyard能实现容器的伸缩、终端、stats等功能
http://宿主机IP:9000
Shipyard是在Docker Swarm实现对容器、镜像、docker集群、仓库、节点进行管理的web系统。
Shipyard是完全基于Docker API,支持container管理、engine管理(一个engine就是监听tcp端口的docker daemon)。
Shipyard是一款开源的图形化的Docker管理工具,现在官方有了自动安装脚本,使用非常方便。
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管理的docker集群可以包含一个或多个engine(引擎),一个engine就是监听tcp端口的docker daemon。
shipyard管理docker daemon、images、containers完全基于Docker API,不需要做其他的修改。
另外,shipyard可以对每个engine做资源限制,包括CPU和内存;
因为TCP监听相比Unix socket方式会有一定的安全隐患,所以shipyard还支持通过SSL证书与docker后台进程安全通信。
RethinkDB是一个shipyard项目的一个docker镜像,用来存放账号(account)、引擎(engine)、服务密钥(service key)、 扩展元数据(extension metadata)等信息,但不会存储任何有关容器或镜像的内容。
shipyard是由shipyard控制器以及周围生态系统构成,以下按照deploy启动顺序进行介绍(下面几个就是shipyard使用脚本安装后,启动的几个容器名)
deploy首先启动的就是RethinkDB容器,shipyard采用RethinkDB作为数据库来保存用户等信息
为了使用Swarm,我们需要一个外部的密钥值存储群容器,shipyard默认是采用了etcd。
证书管理容器,实现证书验证功能
默认情况下,Docker引擎只监听Socket,我们可以重新配置引擎使用TLS或者使用一个代理容器,转发请求从TCP到Docker监听的UNIX Socket。
Swarm管理器
Swarm代理,运行在每个节点上。
shipyard控制器,Remote API的实现和web的实现。
