一、介绍

  Shipyard基于Docker API实现的容器图形管理系统,支持container、images、engine、cluster等功能,可满足我们基本的容器部署需求。

  可堆栈的Docker管理
  基于Docker Swarm,Shipyard可让您管理Docker资源,包括容器,图像,私人注册表等等。
  Shipyard与其他管理应用程序的不同之处在于它提高了可组合性,并与Docker Remote API 100%兼容。

  Shipyard管理container、images、engine、cluste范围内的私人注册管理机构以及提供身份验证和基于角色的访问控制。

  官网:
  https://www.shipyard-project.com/docs/deploy/
  https://www.shipyard-project.com/docs/deploy/manual/  

镜像名称

运行服务

描述

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存储数据

二、部署

  2.1 Datastore

  Shipyard使用RethinkDB作为数据存储。 
  首先我们将启动一个RethinkDB容器。 

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

  2.2 Discovery

  要启用Swarm leader选举,我们必须使用来自Swarm容器的外部键值存储。 
  对于这个例子,我们将使用etcd,但是可以使用Swarm支持的任何键/值后端。

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

  2.3 Proxy

  默认情况下,Docker引擎只侦听套接字。 我们可以重新配置引擎来使用TLS,也可以使用代理容器。
  这是一个非常轻量级的容器,它只是将来自TCP的请求转发给Docker侦听的Unix套接字。
  注意:如果使用手动TCP / TLS配置,则不需要此项。

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

  2.4 Swarm Manager

  这将运行一个Swarm容器配置为管理。

docker run \
-ti \
-d \
--restart=always \
--name shipyard-swarm-manager \
swarm:latest \
manage --host tcp://0.0.0.0:3375 etcd://172.16.200.208:4001 # 宿主机地址

  2.5 Swarm Agent

  这运行一个Swarm代理,允许节点调度容器。

docker run \
-ti \
-d \
--restart=always \
--name shipyard-swarm-agent \
swarm:latest \
join --addr 172.16.200.208:2375 etcd://172.16.200.208:4001

  2.6 Controller

  这将运行Shipyard控制器。

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

  2.7 浏览器访问

  IP+端口
  192.168.1.82:8080
  用户名:admin
  密码:shipyard

  

  

最新文章

  1. Aspose.Cells 导出 excel
  2. Asp.Net在多线程环境下的状态存储问题
  3. .htaccess设置自定义出错页面
  4. July 14th, Week 29th Thursday, 2016
  5. Hadoop 在ubuntu系统上的搭建[图解]
  6. 一些常用css技巧的为什么(一)我所理解的margin
  7. sqlserver防止数据库挂马新尝试
  8. 【转】关于Xcode的Other Linker Flags
  9. (二)学习CSS之cursor属性
  10. el表达式跟ognl表达式的区别(转)
  11. Core Data入门-备用
  12. javascript拾遗
  13. 【NET】Winform分页控件初探
  14. ThreadLocal笔记
  15. mysql5.6 主从复制
  16. lodash源码分析之List缓存
  17. Shell中数组的使用
  18. Westore 1.0 正式发布 - 小程序框架一个就够
  19. Filter查询
  20. linux基础命令---tmpwatch

热门文章

  1. Python基础_内置函数
  2. 前端_JQuery
  3. youi软件测试计划
  4. Week2-作业1-part2.阅读与思考
  5. 用jar包运行带GUI的java游戏
  6. vue2.0 keep-alive 最佳实战(转载)
  7. 累计进度条 PSP 饼图
  8. Vue 爬坑之路(一)—— 使用 vue-cli 搭建项目 (增补)
  9. using关键字
  10. ACdream1093