docker可视化管理工具之shipyard

举报
炒香菇的书呆子 发表于 2022/05/08 23:53:59 2022/05/08
【摘要】 一、概述Docker图形化(视图化)页面管理工具基本常用的有三种: DOCKER UI、Shipyard、Portainer。相对而言,Shipyard最强大,其次是Portainer,最后是Docker UI。Shipyard也是基于 Docker API 实现的容器可视化(web版)管理系统,支持container、images、engine、cluster等功能,它同样也可以简化对横...

一、概述

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。

③、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-OF-HOST>替换成自己的实际IP地址。``docker run \``  ``-ti \``  ``-d \``  ``--restart=always \``  ``--name shipyard-swarm-manager \``  ``swarm:latest \``  ``manage --host tcp:``//0``.0.0.0:3375 etcd:``//``<IP-OF-HOST>: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 命令来查看我们的容器是否都安装部署成功,是否都已经在后台运行中了,示例截图如下:

d1.png

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

五、浏览器访问Shipyard

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

默认帐号:admin

默认密码:shipyard

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

d2.png

至此,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/

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。