Docker安装图形界面Shipyard

来源:互联网 发布:会计毕业论文数据 编辑:程序博客网 时间:2024/05/22 17:40

       Shipyard(github)是建立在docker集群管理工具Citadel之上的可以管理容器、主机等资源的web图形化工具,包括core和extension两个版本,core即shipyard主要是把多个 Docker host上的 containers 统一管理(支持跨越多个host),extension即shipyard-extensions添加了应用路由和负载均衡、集中化日志、部署等;Shipyard是在Docker Swarm实现对容器、镜像、docker集群、仓库、节点进行管理的web系统。


       功能:简化对横跨多个主机的Docker容器集群进行管理
       通过Web用户界面,你可以大致浏览相关信息,比如你的容器在使用多少处理器和内存资源、在运行哪些容器,还可以检查所有集群上的事件日志。
       其特性主要包括:
       支持节点动态集群,可扩展节点的规模(swarm、etcd方案);
       支持镜像管理、容器管理、节点管理等功能;
       可视化的容器管理和监控管理;
       在线容console终端;


概念:

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后台进程安全通信。
 
2、rethinkdb
RethinkDB是一个shipyard项目的一个docker镜像,用来存放账号(account)、引擎(engine)、服务密钥(service key)、
扩展元数据(extension metadata)等信息,但不会存储任何有关容器或镜像的内容。


生态:

shipyard是由shipyard控制器以及周围生态系统构成,以下按照deploy启动顺序进行介绍(下面几个就是shipyard使用脚本安装后,启动的几个容器名)
1、RethinkDB
deploy首先启动的就是RethinkDB容器,shipyard采用RethinkDB作为数据库来保存用户等信息
 
2、Discovery
为了使用Swarm,我们需要一个外部的密钥值存储群容器,shipyard默认是采用了etcd。
 
3、shipyard_certs
证书管理容器,实现证书验证功能
 
4、Proxy
默认情况下,Docker引擎只监听Socket,我们可以重新配置引擎使用TLS或者使用一个代理容器,转发请求从TCP到Docker监听的UNIX Socket。
 
5、Swarm Manager
Swarm管理器
 
6、Swarm Agent
Swarm代理,运行在每个节点上。
 
7、Controller
shipyard控制器,Remote API的实现和web的实现。


安装:

1、下载镜像

docker pull alpinedocker pull library/rethinkdbdocker pull microbox/etcddocker pull shipyard/docker-proxydocker pull swarmdocker pull shipyard/shipyard

2、安装

curl -s https://shipyard-project.com/deploy | bash -s

3、安装完成,会出现以下信息,172.10.10.61应该是你主机的ip

Shipyard available at http://172.10.10.61:8080Username: admin Password: shipyard


4、用浏览器输入http://172.10.10.61.8080,出现Shipyard登录界面



5、别的docker主机可以添加node节点,将docker放到同一个Shipyard中管理

curl -sSL http://dockerclub.net/public/script/deploy | ACTION=node DISCOVERY=etcd://<shipyard部署机ip> bash -s

6、删除Shipyard

curl -sSL https://shipyard-project.com/deploy | ACTION=remove bash -s

7、Shipyard在centos7上安装以后,很出现看不到本机的容器和镜像的情况,需要关闭selinux、firewall这2个,开启iptables防火墙,端口映射等通可以用iptables来设置。


8、有时候打开Shipyard发现不显示本地镜像和容器,需要在iptables上开启2375端口

vim /etc/sysconfig/iptables-A INPUT -p tcp -m state --state NEW -m tcp --dport 2375-j ACCEPT
然后重启防火墙

service iptables restart 





原创粉丝点击