Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Docker可视化管理工具Shipyard安装与配置

Docker可视化管理工具Shipyard安装与配置

作者头像
菲宇
发布于 2022-12-21 11:40:22
发布于 2022-12-21 11:40:22
2.2K00
代码可运行
举报
文章被收录于专栏:菲宇菲宇
运行总次数:0
代码可运行

Shipyard简介

Shipyard是一个集成管理docker容器、镜像、Registries的系统,它具有以下特点:

  • 支持多节点的集成管理
  • 可动态加载节点
  • 可托管node下的容器

Docker Shipyard对于喜欢Docker Swarm的人来说是一个方便的工具,但希望它能做得更多。虽然Swarm通过CLI专注于容器编排,但Docker Shipyard除了容器本身之外还允许您管理应用程序映像和容器注册表,从而进一步发挥作用。此外,除了CLI之外,Shipyard还提供基于Web的图形前端和丰富的API

第1步:创建数据容器

正如您所料,Shipyard需要存储一些数据才能监控您的集群。因此,在启动Shipyard本身之前,您需要创建两个Docker容器以用于数据目的。第一个容器将用作数据容器卷,第二个容器将用作数据库服务器。

Shipyard使用RethinkDB,因此您将基于shipyard / rethinkdb映像创建两个数据容器。

要启动这两个容器,首先使用以下命令创建数据卷容器:

docker create --name shipyard-rethinkdb-data shipyard/rethinkdb

接下来,创建一个数据库服务器并将其链接到刚刚创建的数据卷容器:

docker run -it -d --name shipyard-rethinkdb --restart=always --volumes-from shipyard-rethinkdb-data -p 127.0.0.1:49153:8080 -p 127.0.0.1:49154:28015 -p 127.0.0.1:29015:29015 shipyard/rethinkdb

第2步:启动造船厂

现在您可以让Shipyard存储其数据,您可以继续创建一个Shipyard容器,侦听端口8080:

docker run -it -p 8080:8080 -d --restart=always --name shipyard --link shipyard-rethinkdb:rethinkdb shipyard/shipyard

恭喜!造船厂现已启动并运行。

第3步:使用Docker Shipyard

但是,据推测,您实际上想要使用Shipyard,而不仅仅是让它在您的集群上运行。您可以通过不同方式访问它。正如我所提到的,Shipyard的一个好处是可以通过CLI,API或Web界面访问它。

每个人都喜欢GUI(好吧,也许不是,但在这种情况下,获取Web UI可能是您首先想要使用Shipyard的一大部分原因),所以让我们从Web界面开始。要访问它,只需将浏览器指向http:// server_ip:8080。默认登录名为admin,默认密码为shipyard。(是的,我知道。至少它不是“密码”。)

更改密码

如果您在生产中使用Shipyard并且您喜欢隐私,则可能需要更改默认凭据。要做到这一点,您需要CLI,这需要启动一个单独的容器。所以激发它:

docker run -ti --rm shipyard/shipyard-cli

我们使用-rm标志启动了这个容器,因为我们希望Docker在使用它时将其关闭。

启动此容器后,它将打开Shipyard CLI提示符。要更改默认密码,请键入:

shipyard login

它将要求一个URL,这是Shipyard正在监听的IP地址和端口(在我们的例子中,它是http:// server_ip:8080)。然后会要求您输入用户名和密码,这些用户名和密码仍然是管理员和造船厂。

登录后,运行此命令以更改密码:

shipyard change-password

Control-D将使您离开Shipyard CLI。

除了Web UI之外,Shipyard的API使其成为容器监控和管理的真正有用工具。所以我不能不提及它就结束这篇文章。

此处记录的Shipyard API可用于构建各种自定义Web应用程序。此外,Shipyard支持Docker Remote API来管理远程主机上的容器,因此您可以在构建应用程序时将后一种API与Shipyard的本机API相结合。

环境准备

下载镜像

    1. docker pull rethinkdb
    2. # docker pull microbox/etcd
    3. # docker pull shipyard/docker-proxy
    4. # docker pull swarm
    5. # docker pull shipyard/shipyard

手动安装

1. 数据存储

Shipyard使用RethinkDB做为数据存储工具, 我们需要先运行RethinkDB容器。

#docker run  -ti -d  --restart=always --name shipyard-rethinkdb  rethinkdb

2. 服务发现

为了启用Swarm leader选择,我们必须使用来自Swarm容器的外部键值存储。此处,我们使用Etcd作为服务发现工具。可以选用的服务发现工具还有Consul、Zookeeper等。

docker run  -ti  -d -p 4001:4001 -p 7001:7001 --restart=always --name shipyard-discovery microbox/etcd:latest -name discovery

3. Docker代理服务

默认情况下,Docker引擎只侦听套接字。 我们可以重新配置引擎以使用TLS,或者您可以使用代理容器。 这是一个非常轻量级的容器,它只是将请求从TCP转发到Docker监听的Unix套接字。

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

4. Swarm管理节点

  1. docker run -ti -d --restart=always --name shipyard-swarm-manager swarm:latest manage \
  2. --host tcp://0.0.0.0:3375 etcd://<IP-OF-HOST>:4001

5. Swarm Agent节点

  1. docker run -ti -d --restart=always --name shipyard-swarm-agent swarm:latest \
  2. join --addr <ip-of-host>:2375 etcd://<ip-of-host>:4001

6. Shipyard管理工具

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

Shipyard管理界面

容器管理界面

容器管理列表界面

容器管理界面

容器状态页面

容器部署页面

镜像管理界面

镜像管理界面

Swarm节点界面

Swarm节点界面

自动安装

注意:这将会暴露Docker Engine的管理端口2375。如果此节点在安全网络外部可以访问,建议使用TLS。

1. 下载自动部署Shell脚本

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
curl -sSL https://shipyard-project.com/deploy | bash -s

自动部署脚本中, 包括以下参数:

  • ACTION: 表示可以使用的指令,它包括以下选项。
    • deploy, 默认值, 表示自动安装部署Shipyard管理工具及相关应用
    • upgrade,更新已存在的实例(注意:你要保持相同的系统环境、变量来部署同样的配置
    • node, 部署Swarm的一个新节点
    • remove, 已存在的shipyard实例
  • DISCOVERY: 集群系统采用Swarm进行采集和管理(在节点管理中可以使用‘node’)
  • IMAGE: 镜像,默认使用shipyard的镜像
  • PREFIX: 容器名字的前缀
  • SHIPYARD_ARGS: 容器的常用参数
  • TLS_CERT_PATH: TLS证书路径
  • PORT: 主程序监听端口 (默认端口: 8080)
  • PROXY_PORT: 代理端口 (默认: 2375)

2. 使用镜像

Shipyard允许您采取指定的镜像来部署实例,比如以下的测试版本,你也已这样做:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
curl -sSL https://shipyard-project.com/deploy | IMAGE=shipyard/shipyard:test bash -s

3. 使用前缀

你可以在部署Shipyard管理工具时,自定义你想要的前缀,比如

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
curl -sSL https://shipyard-project.com/deploy | PREFIX=shipyard-test bash -s

4. 使用运行参数

这里增加一些shipyard运行参数,你可以像这样进行调整:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
curl -sSL https://shipyard-project.com/deploy | SHIPYARD_ARGS="--ldap-server=ldap.example.com --ldap-autocreate-users" bash -s

5. 使用安全认证(TLS证书) 参考文章

启用安全加密通讯协议(TLS)对Shipyard进行部署,包括代理(docker-proxy)、swarm集群、shipyard管理平台的配置,这是一个配置规范。证书必须采用以下命名规范:

  • ca.pem: 安全认证证书
  • server.pem: 服务器证书
  • server-key.pem: 服务器私有证书
  • cert.pem: 客户端证书
  • key.pem: 客户端证书的key

注意:证书将被放置在一个单独的安全认证docker容器中,并在各个组成部分之间共享。如果需要调试,可以将此容器连接到调试容器。数据容器名称为$PREFIX-certs

代码语言:javascript
代码运行次数:0
运行
复制
  1. docker run --rm -v $(pwd)/ certs:/certs ehazlett/certm -d /certs bundle generate -o shipyard --host proxy --host 127.0. 0. 1

你也可以在部署时,指定TLS_CERT_PATH参数:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
curl -sSL https://shipyard-project.com/deploy | TLS_CERT_PATH=$(pwd)/certs bash -s

6. 增加Swarm节点

Shipyard管理的Swarm节点部署脚本将自动的安装key/value存储系统(etcd系统),用于进行服务发现, 相关的工具还有Consul、Zookeeper。增加一个节点到swarm集群,你可以通过以下的节点部署脚本:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
curl -sSL https://shipyard-project.com/deploy | ACTION=node DISCOVERY=etcd://10.0.1.10:4001 bash -s

注意:10.0.1.10该ip地址为部署Ectd系统所在主机的IP地址,你需要根据你的部署位置进行修改。

https://blog.csdn.net/a632189007/article/details/78755741

7. 删除Shipyard管理工具

如果你要删除Shipyard部署的容器,你可以使用以下脚本进行删除。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
curl -sSL https://shipyard-project.com/deploy | ACTION=remove bash -s
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-07-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Docker集中化web界面管理平台-Shipyard部署记录
之前介绍了DOcker的web管理工具DockerUI,下面介绍下Docker的另一个web界面管理工具Shipyard的使用。Shipyard(github)是建立在docker集群管理工具Citadel之上的可以管理容器、主机等资源的web图形化工具,包括core和extension两个版本,core即shipyard主要是把多个 Docker host上的 containers 统一管理(支持跨越多个host),extension即shipyard-extensions添加了应用路由和负载均衡、集中化
洗尽了浮华
2018/01/23
2.3K0
Docker集中化web界面管理平台-Shipyard部署记录
docker容器轻量级web管理工具之Shipyard
由于坑爹的GFW作怪,导致docker下载东西经常断掉,因此我们必须挂×××。×××推荐使用ss。
保持热爱奔赴山海
2019/09/18
1.5K0
docker容器轻量级web管理工具之Shipyard
Docke的WEB管理工具
Shipyard也是完全基于Docker API,支持container管理、engine管理(一个engine就是监听tcp端口的docker daemon)。
KaliArch
2018/04/19
2K2
Docke的WEB管理工具
对shipyard打开后显示没有容器和镜像的思考和解决-设置wubantu静态ip-修改shipyard容器的ip和端口
Shipyard是一个基于Web的Docker管理工具,支持多主机,可以把多个Docker主机上的容器统一管理,可以查看镜像,甚至构建镜像,并提供RESTful API等等。
jiankang666
2022/05/12
1.1K0
对shipyard打开后显示没有容器和镜像的思考和解决-设置wubantu静态ip-修改shipyard容器的ip和端口
【Docker】Docker学习记录: Shipyard+Swarm+Consul+Service Discover 搭建教程
网上乱七八糟的资料实在是太多了, 乱, 特别乱, 而看书呢, 我读了2本书, 一本叫做<<第一本 Docker 书>>, 另一本叫做<< Docker进阶与实战>> 在 服务发现这块讲的又不清不楚的, 坑死个人. 今天特意记录下, 并整理下来,以防自己哪天又忘了, 也给同在研究Docker 的朋友们一个安装教程. 我单位测试机一共四台, 各位可以起4个虚拟机对应, 假定分别是141,142,143,144. 都是 CentOS 6.x 系统. Step1. 升级 CentOS 内核到3.10版本以上 首先升
Rainbond开源
2018/05/31
8050
在本地wubantu系统搭建spring cloud微服务环境的完整实现
使用了wubantu16版本,为了搭建成功,需要有tomcat,centos,java环境,我所需要的已经保存到了百度网盘上,方便下次快速搭建,地址为链接:https://pan.baidu.com/s/1ZP92cjpniZcdPoS1e-dvxw 提取码:7mda ,然后使用xftp连接好虚拟机,把搭建所需的文件上传到虚拟机上,使用xshell 6连接虚拟机,更方便的进行命令操作。
jiankang666
2022/05/12
4700
在本地wubantu系统搭建spring cloud微服务环境的完整实现
如何在Ubuntu 14.04上使用Shipyard部署Wordpress
Shipyard是Docker服务器的管理工具。Docker是用于集装箱化的尖端软件。Shipyard允许您查看每个服务器正在运行的容器,以便启动或停止现有容器或创建新容器。
小铁匠米兰的v
2018/09/26
2K0
docker--docker 的web可视化管理工具
当 Docker 部署规模逐步变大后,可视化监控容器环境的性能和健康状态将会变得越来越 重要。 Docker的图形化管理工具,提供状态显示面板、应用模板快速部署、容器镜像网 络数据卷的基本操作(包括上传下载镜像,创建容器等操作)、事件日志显示、容器控 制台操作、Swarm集群和服务等集中管理和操作、登录用户管理和控制等功能。常用工 具如下: 1、docker UI(local) 2、shipyard(停止维护了) 3、portainer 4、daocloud
eadela
2019/11/26
1.6K0
Docker系列教程13-Docker可视化管理工具
本节介绍几款Docker可视化管理工具。 DockerUI(ui for Docker) 官方GitHub:https://github.com/kevana/ui-for-docker 项目已废弃,现在转投Portainer项目,不建议使用。 Portainer 简介:Portainer是一个轻量级的管理界面,可以让您轻松地管理不同的Docker环境(Docker主机或Swarm集群)。Portainer提供状态显示面板、应用模板快速部署、容器镜像网络数据卷的基本操作、事件日志显示、容器控制台操作、Swa
用户1516716
2018/04/03
3.6K0
Docker可视化界面(Consul+Shipyard+Swarm+Service Discover)部署记录
前面一篇说到了Docker管理工具-Swarm部署记录,基于这个环境,下面记录下Docker可视化界面部署过程: 1)下载相关惊喜 manager-node节点(182.48.115.237) [root@manager-node ~]# docker pull progrium/consul [root@manager-node ~]# docker pull rethinkdb [root@manager-node ~]# docker pull shipyard/shipyard [root@ma
洗尽了浮华
2018/01/23
9400
Docker可视化界面(Consul+Shipyard+Swarm+Service Discover)部署记录
Docker+Swarm+Etcd+Portainer搭建集群
简介 Swarm是一套较为简单的工具,用以管理Docker集群,使得Docker集群暴露给用户时相当于一个虚拟的整体。Swarm使用标准的Docker API接口作为其前端访问入口,换言之,各种形式的Docker Client(dockerclient in go, docker_py, docker等)均可以直接与Swarm通信。 使用etcd发现服务解决swarm内置发现服务的不稳定问题。etcd是一个高可用的分布式键值(key-value)数据库。etcd内部采用raft协议作为一致性算法,etcd基于Go语言实现。 etcd是一个服务发现系统,具备以下的特点:安装配置简单,而且提供了HTTP API进行交互,使用也很简单,支持SSL证书验证,根据官方提供的benchmark数据,单实例支持每秒2k+读操作,采用raft算法,实现分布式系统数据的可用性和一致性 Portainer是Docker的图形化管理工具,提供状态显示面板、应用模板快速部署、容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作)、事件日志显示、容器控制台操作、Swarm集群和服务等集中管理和操作、登录用户管理和控制等功能。功能十分全面,基本能满足中小型单位对容器管理的全部需求。 服务器 192.168.0.98 master docker etcd swarm-manage swarm-agent portainer 192.168.0.99 node1 docker swarm-agent 192.168.0.100 node2 docker swarm-agent 准备 在所有机器上安装docker同时修改配置 vi /lib/systemd/system/docker.service 修改 ExecStart: ExecStart=/usr/bin/dockerd -H unix:///var/run/docker.sock -D -H tcp://0.0.0.0:2375 重启docker systemctl daemon-reload systemctl start docker.service 当然实际用于生产环境这种方式并不安全,可用于测试。新版本doker swarm 支持TSL安全方式。 在所有机器上docker pull swarm 在master机器上docker pull etcd 安装etcd docker run -ti -d -p 4001:4001 -p 7001:7001 --restart=always --name discovery docker.io/etcd -name discovery 启动swarm manger docker run -ti -d -p 2376:2375 --restart=always --name swarm-manager swarm:latest manage --host tcp://0.0.0.0:2375 etcd://192.168.0.98:4001 启动swarm agent 在每个docker节点分别执行,将当前docker节点加入到集群中: docker run -ti -d --restart=always --name swarm-agent swarm:latest join --addr 192.168.0.98:2375 etcd://192.168.139.98:4001 docker run -ti -d --restart=always --name swarm-agent swarm:latest join --addr 192.168.0.99:2375 etcd://192.168.139.98:4001 docker run -ti -d --restart=always --name swarm-agent swarm:latest join --addr 192.168.0.100:2375 etcd://192.168.139.98:4001 使用命令查看docker节点情况(任意docker节点上都可以执行): docker run --rm swarm list etcd://192.168.0.98:4001 可以使用命令查看docker集群的详情(可在任意docker节点上执行,IP地址是装了swarm master主机的IP):
菲宇
2019/06/12
1.7K0
Docker Swarm搭建集群和常用命令操作
Docker自诞生以来,其容器特性以及镜像特性给DevOps爱好者带来了诸多方便。然而在很长的一段时间内,Docker只能在单host上运行,其跨host的部署、运行与管理能力颇受外界诟病。跨host能力的薄弱,直接导致Docker容器与host的紧耦合,这种情况下,Docker容器的灵活性很难令人满意,容器的迁移、分组等都成为很难实现的功能点。
菲宇
2022/12/21
7680
Docker私有Registry在CentOS6.X下安装指南
先从docker registry服务器端把文件/etc/pki/CA/cacert.pem拷贝到本机,然后执行命令:
白石
2019/08/23
6310
4.Docker学习之进阶使用
描述: 本章主要学习与记录了在进一步学习Docker容器中的一些基础名称解析与Docker与一些辅助软件配合使用来增加工作效率以及简化运维流程;
全栈工程师修炼指南
2022/09/28
1.6K0
4.Docker学习之进阶使用
Docker可视化web界面管理-Portainer部署记录
Docker图形页面管理工具基本常用的有三种: Docker UI,Shipyard,Portainer,之前分别介绍了Docker UI和Shipyard部署,下面简单介绍下Portainer部署.Portainer是Docker的图形化管理工具,提供状态显示面板、应用模板快速部署、容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作)、事件日志显示、容器控制台操作、Swarm集群和服务等集中管理和操作、登录用户管理和控制等功能, 功能十分全面,基本能满足中小型单位对容器管理的全部需求。
洗尽了浮华
2018/12/12
11.3K0
docker容器轻量级web管理工具之portainer
官方地址:https://github.com/portainer/portainer
保持热爱奔赴山海
2019/09/18
1.4K0
docker容器轻量级web管理工具之portainer
Docker--可视化Web管理工具 Portainer(五)
Portainer 是 Docker 的图形化管理工具,提供状态显示面板、应用模板快速部署、容器镜像网络数据卷的基本操作(包括上传下载镜像,创建 容器等操作)、事件日志显示、容器控制台操作、Swarm集群和服务等集中管理和操作、登录用户管理和控制等功能。功能十分全面,基本能满足中小型单位对容器管理的全部需求。
Kevin song
2022/11/19
1.4K1
Docker--可视化Web管理工具 Portainer(五)
Docker-可视化管理工具总结-推荐使用Portainer
对于初学docker的小白,一款好的可视化工具有助于快速掌握docker基本形态和概念,下面针对docker可视化工具做些总结
DevOps在路上
2023/05/16
1.2K0
Docker-可视化管理工具总结-推荐使用Portainer
04. Idea集成Docker
上一节中,我们介绍了Dockerfile的方式构建自己的镜像。但是在实际开发过程中,一般都会和开发工具直接集成,如Idea。今天就介绍下idea和Docker如何集成。
有一只柴犬
2023/08/24
5020
04. Idea集成Docker
CentOS 7.6部署Shipyard集群监控环境
1.环境准备 192.168.0.8 tcs-master 192.168.0.9 tcs-work01 192.168.0.10 tcs-work02 2.Docker环境准备及安装 # step 1: 安装必要的一些系统工具 yum install -y yum-utils device-mapper-persistent-data lvm2 # Step 2: 添加软件源信息 yum-config-manager --add-repo htt
小擦擦
2019/05/02
5160
CentOS 7.6部署Shipyard集群监控环境
推荐阅读
相关推荐
Docker集中化web界面管理平台-Shipyard部署记录
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验