docker可视化管理工具之shipyard

网友投稿 937 2022-05-30

一、概述

Docker图形化(视图化)页面管理工具基本常用的有三种: DOCKER UI、Shipyard、Portainer。相对而言,Shipyard最强大,其次是Portainer,最后是Docker UI。Shipyard也是基于 Docker API 实现的容器可视化(web版)管理系统,支持container、images、engine、cluster等功能,它同样也可以简化对横跨多个主机的Docker容器集群进行管理。通过web用户界面,你可以大致浏览相关信息,比如你的容器在使用多少处理器和内存资源、在运行哪些容器,还可以检查所有集群上的事件日志等。可满足我们基本的容器部署需求。

二、Shipyard功能特性及概念

2.1、Shipyard功能

其功能特性主要包括:

①、支持节点动态集群,可扩展节点的规模(swarm、etcd方案)

②、支持镜像管理、容器管理、节点管理等功能

③、可视化的容器管理和监控管理

④、在线容console终端

2.2、Shipyard的几个概念

①、engine:一个shipyard管理的docker集群可以包含一个或多个engine(引擎),一个engine就是监听tcp端口的docker daemon。另外,shipyard可以对每个engine做资源限制,包括CPU和内存;因为TCP监听相比Unix socket方式会有一定的安全隐患,所以shipyard还支持通过SSL证书与docker后台进程安全通信。

什么是engine?

一般当人们说 “Docker”时, 他们一般指的是Docker Engine, 一个client-server 结构的应用, 包含 Docker daemon(docker守护进程)、一个用来和 daemon 交互的REST API、 一个命令行应用CLI。Docker Engine 在命令行中接收并解析、执行docker 命令, 例如: docker run、docker ps等。

三、Shipyard所依赖的几个镜像

①、rethinkdb:在shipyard中充当数据库的角色(实际上它也就是一个数据库)。它是一个NoSQL数据库,用于存储shipyard系统的数据,比如账号、节点、容器等信息。

②、microbox/etcd:服务注册、发现系统。K/V存储系统,用于Swarm节点实现服务注册、发现。也支持consul、zookeeper。

docker可视化管理工具之shipyard

③、shipyard/docker-proxy:docker API代理。连接本地/var/run/docker.sock代理,用于让Swarm Agent连接API管理。

④、swarm:swarm集群。官方管理Docker集群工具,使得多个engine为一个整体管理,对外提供Swarm manager API,用户就像操作单台Engine一样。

⑤、shipyard/shipyard:shipyard前端。容器Web管理系统,内部连接Swarm Manager管理容器和RethinkDB存储数据。

四、Shipyard部署

部署分为自动部署和手动部署,这里我们使用手动部署。

4.1、先提前下载好相关依赖镜像(这些镜像如果不提前下载,则在安装部署时会自动下载,不过要等待一段时间,所以最好提前下载,部署时就很快了)

docker pull rethinkdb` `docker pull microbox``/etcd` `docker pull shipyard``/docker-proxy` `docker pull swarm` `docker pull shipyard``/shipyard

①、第一步安装Datastore帐号密码管理容器

docker run \`` ``-ti \ -d \`` ``--restart=always \`` ``--name shipyard-rethinkdb \`` ``rethinkdb

②、第二步安装集群发现Discovery服务

docker run \`` ``-ti \ -d \`` ``-p 4001:4001 \`` ``-p 7001:7001 \`` ``--restart=always \`` ``--name shipyard-discovery \`` ``microbox``/etcd` `-name discovery`` ` `#映射的端口号为4001 其它组件连接4001进行服务注册

③、第三步安装docker-proxy协议代理

docker run \`` ``-ti \ -d \`` ``-p 2375:2375 \`` ``--``hostname``=$HOSTNAME \`` ``--restart=always \`` ``--name shipyard-proxy \`` ``-``v` `/var/run/docker``.sock:``/var/run/docker``.sock \ -e PORT=2375 \`` ``shipyard``/docker-proxy``:latest

④、第四步安装Swarm管理节点

#官方文档部署如下,下面的替换成自己的实际IP地址。``docker run \`` ``-ti \`` ``-d \`` ``--restart=always \`` ``--name shipyard-swarm-manager \`` ``swarm:latest \`` ``manage --host tcp:``//0``.0.0.0:3375 etcd:``//``:4001`` ` `#本文的实际环境示例部署如下:``docker run \`` ``-ti \`` ``-d \`` ``--restart=always \`` ``--name shipyard-swarm-manager \`` ``swarm:latest \`` ``manage --host tcp:``//0``.0.0.0:3375 etcd:``//119``.3.220.26:4001`` ` `#意思表示:将swarm组件注册到etcd这个注册中心中,而我们这里的etcd注册中心在上一步映射的端口是4001,然后写上自己的实际ip地址即可。

⑤、 第五步安装Swarm从节点

docker run \`` ``-ti \`` ``-d \`` ``--restart=always \`` ``--name shipyard-swarm-agent \`` ``swarm:latest \`` ``join` `--addr 119.3.220.26:2375 etcd:``//119``.3.220.26:4001`` ` `#注意:上面有2个地方的ip地址为119.3.220.26,均需要换成你自己实际的ip地址。119.3.220.26是本文使用的ip地址` `#这一步骤表示:swarm节点所部署了一个程序,将它加入到swarm集群中,去做本机的容器的管理

⑥、第六步(最后一步)安装Shipyard管理界面,也就是web版管理docker的UI界面

docker run \`` ``-ti \`` ``-d \`` ``--restart=always \`` ``--name shipyard-controller \`` ``--link shipyard-rethinkdb:rethinkdb \`` ``--link shipyard-swarm-manager:swarm \`` ``-p 8080:8080 \`` ``shipyard``/shipyard``:latest \`` ``server \`` ``-d tcp:``//swarm``:3375

可以使用 docker ps 命令来查看我们的容器是否都安装部署成功,是否都已经在后台运行中了,示例截图如下:

从上图中我们看到,一切就绪 没有问题。

五、浏览器访问Shipyard

访问 http://[ip-of-host]:8080 即可访问shipyard web-ui界面,本文这里的访问url是:http://119.3.220.26:8080

默认帐号:admin

默认密码:shipyard

使用账号和密码登录之后的shipyard显示界面如下:

至此,shipyard安装完毕,大家慢慢体验熟悉它吧。

六、尾声

本文安装的shipyard的ui界面是英文版(原版)的,不过是有中文版的ui界面的。如果想要安装中文版的可以参考如下连接:

https://blog.csdn.net/xcbeyond/article/details/82796667

https://blog.51cto.com/13941177/2368204

官方部署文档:http://shipyard-project.com/deploy/

官方手动部署文档:http://shipyard-project.com/manual-deployment/

Docker web前端

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:为什么 Python 的 f-string 可以连接字符串与数字?
下一篇:适航实时操作系统安全可靠的验证方案
相关文章