摘要:是建立在集群管理工具之上的可以管理容器主机等资源的图形化工具。管理完全基于,不需要做其他的修改。搭建过程修改监听要管理和控制的话需要先修改上的默认配置使其监听端口可以继续保持。
Shipyard(github)是建立在docker集群管理工具Citadel之上的可以管理容器、主机等资源的web图形化工具。包括core和extension两个版本,core即shipyard主要是把多个 Docker host上的 containers 统一管理(支持跨越多个host),extension即shipyard-extensions添加了应用路由和负载均衡、集中化日志、部署等。
1. 几个概念 engine一个shipyard管理的docker集群可以包含一个或多个engine(引擎),一个engine就是监听tcp端口的docker daemon。shipyard管理docker daemon、images、containers完全基于Docker API,不需要做其他的修改。另外,shipyard可以对每个engine做资源限制,包括CPU和内存;因为TCP监听相比Unix socket方式会有一定的安全隐患,所以shipyard还支持通过SSL证书与docker后台进程安全通信。
rethinkdbRethinkDB是一个shipyard项目的一个docker镜像,用来存放账号(account)、引擎(engine)、服务密钥(service key)、扩展元数据(extension metadata)等信息,但不会存储任何有关容器或镜像的内容。一般会启动一个shipyard/rethinkdb容器shipyard-rethinkdb-data来使用它的/data作为数据卷供另外rethinkdb一个挂载,专门用于数据存储。
2. 搭建过程 修改tcp监听Shipyard 要管理和控制 Docker host 的话需要先修改 Docker host 上的默认配置使其监听tcp端口(可以继续保持Unix socket)。有以下2种方式
sudo docker -H tcp://0.0.0.0:4243 -H unix:///var/run/docker.sock -d 启动docker daemon。如果为了避免每次启动都写这么长的命令,可以直接在/etc/init/docker.conf中修改。
修改/etc/default/docker的DOCKER_OPTS
DOCKER_OPTS="-H tcp://127.0.0.1:4243 -H unix:///var/run/docker.sock"。这种方式在我docker version 1.4.1 in ubuntu 14.04上并没有生效。
</>复制代码
重启服务
$ sudo docker -H tcp://0.0.0.0:4243 -H unix:///var/run/docker.sock -d
验证
$ netstat -ant |grep 4243
tcp6 0 0 :::4243 :::* LISTEN
启动rethinkdb
shipyard(基于Python/Django)在v1版本时安装过程比较复杂,既可以通过在host上安装,也可以部署shipyard镜像(包括shipyard-agent、shipyard-deploy等组件)。v2版本简化了安装过程,启动两个镜像就完成:
</>复制代码
获取一个/data的数据卷
$sudo docker run -it -d --name shipyard-rethinkdb-data
--entrypoint /bin/bash shipyard/rethinkdb -l
使用数据卷/data启动RethinkDB
docker run -it -P -d --name shipyard-rethinkdb
--volumes-from shipyard-rethinkdb-data shipyard/rethinkdb
部署shipyard镜像
启动shipyard控制器:
</>复制代码
sudo docker run -it -p 8080:8080 -d --name shipyard
--link shipyard-rethinkdb:rethinkdb shipyard/shipyard
至此已经可以通过浏览器访问http://host:8080来访问shipyard UI界面了。
第一次run后,关闭再次启动时直接使用:
</>复制代码
sudo docker stop shipyard shipyard-rethinkdb shipyard-rethinkdb-data
sudo docker start shipyard-rethinkdb-data shipyard-rethinkdb shipyard
图示
登录:
默认用户名/密码为 admin/shipyard
主界面:
Dashboard展示在添加engine时指定的CPU以及内存的使用情况。
容器:
shipyard管理的所有docker主机的所有容器,包括stop和running状态的。可以直接点击DEPLOY按钮来从镜像运行出其他容器,与docker run的选项几乎相同,可以限制CPU和内存的使用,详见shipyard的containers文档。
容器操作:
可以stop、start、restart容器,通过LOGS可以看到容器日志输出,SCALE可以批量(规模化)部署该容器,这个操作与容器的Type属性息息相关。因为shipyard可以管理多个host的docker容器,所以启动一个容器的type可以是:service——可以在具有相同label的engine上运行;unique——一个host上只允许某个镜像的一个实例运行;host——在指定的host上运行容器,启动的时候通过--label host:
engine管理:
一个engine就是一个docker daemon,docker daemon下启动着多个containers,可以对engine限制一个整体的CPU和内存限制,shipyard通过TCP端口连接daemon。需要注意的是docker client与server的版本问题:(因为shipyard目前还在快速的完善过程,不同版本的docker应该是向下兼容的)
</>复制代码
curl -X GET http://172.29.88.223:4243/v1.15/containers/json
client and server don"t have same version (client : 1.15, server: 1.13)
3. shipyard-cli
目前图形化界面能做的操作其实很少,正在强大的是通过shipyard提供的命令行窗口(称作Shipyard CLI)进行管理,参考http://shipyard-project.com/docs/usage/cli/
启动命令行交互模式:
</>复制代码
sudo docker run --rm -it shipyard/shipyard-cli
使用它甚至可以替代docker客户端。
</>复制代码
sean@seanubt:~$ sudo docker run -it shipyard/shipyard-cli
shipyard cli> shipyard help
NAME:
shipyard - manage a shipyard cluster
USAGE:
shipyard [global options] command [command options] [arguments...]
VERSION:
2.0.8
COMMANDS:
login login to a shipyard cluster
change-password update your password
accounts show accounts
add-account add account
delete-account delete account
containers list containers
inspect inspect container
run run a container
stop stop a container
restart restart a container
scale scale a container
logs show container logs
destroy destroy a container
engines list engines
add-engine add shipyard engine
remove-engine removes an engine
inspect-engine inspect an engine
service-keys list service keys
add-service-key adds a service key
remove-service-key removes a service key
extensions show extensions
add-extension add extension
remove-extension remove an extension
webhook-keys list webhook keys
add-webhook-key adds a webhook key
remove-webhook-key removes a webhook key
info show cluster info
events show cluster events
help, h Shows a list of commands or help for one command
GLOBAL OPTIONS:
--help, -h show help
--generate-bash-completion
--version, -v print the version
登录shipyard
shipyard cli> shipyard login
URL: http://172.29.88.205:8080
Username: admin
Password:
查看containers
shipyard cli> shipyard containers
启动一个容器
shipyard cli> shipyard run --name nginx:1.7.6 --container-name web_test
--cpus 0.2
--memory 64
--type service
--hostname nginx-test
--domain example.com
--link redis:db
--port tcp/172.29.88.205:81:8081
--port tcp/::8000
--restart "on-failure:5"
--env FOO=bar
--label dev
查看容器日志(只能接容器ID,暂不能使用容器名)
shipyard cli> shipyard logs ff2761d
关闭并移除容器
shipyard cli> shipyard destroy
不一一列举。。。
原文链接地址:http://seanlook.com/2014/12/29/docker-shipyard-centralized-management-webui/
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/26368.html
摘要:相关基于项目和项目,并遵循应用的十二因素风格。相关在设计上,项目尽量保持驱动和模块化,以便模块支持不同的实现方案。相关不仅可以管理众多虚拟机,其计算服务还支持对的驱动,管理引擎的子项目还可用于通过模板管理容器。现已整合公司所支持的项目。 整理自《Docker技术入门与实践》 PaaS(Platform as a Service) PaaS 是希望提供一个统一的可供所有软件直接运行而无需...
摘要:之安装指南一前言最近在研究的容器管理平台,在研究过程发现自己对基础理解还存在一定的欠缺,为了更好的理解,将我对项目的理解共享给爱好者,也系统的形成一份研发日志。启动界面容器详细情况镜像节点 Docker之shipyard安装指南 一、前言:最近在研究shipyard的docker容器管理平台,在研究过程发现自己对docker基础理解还存在一定的欠缺,为了更好的理解docker,将我对s...
摘要:中文版正式发布一是什么是一个开源的管理平台,其特性主要包括支持节点动态集群,可扩展节点的规模方案支持镜像管理容器管理节点管理等功能可视化的容器管理和监控管理在线容器终端二中文版源代码托管在,有兴趣可以访问获取代码。 shipyard中文版正式发布 一、 Docker Shipyard是什么 ?shipyard是一个开源的docker管理平台,其特性主要包括: 支持节点动态集群,可扩...
阅读 3636·2021-09-22 15:02
阅读 3984·2021-09-02 15:21
阅读 2341·2019-08-30 15:55
阅读 2932·2019-08-30 15:44
阅读 921·2019-08-29 16:56
阅读 2560·2019-08-23 18:22
阅读 3479·2019-08-23 12:20
阅读 3226·2019-08-23 11:28