一、介绍

  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

  

  

Docker图形界面管理之Shipyard的更多相关文章

  1. Docker入门与应用系列(八)Docker图形界面管理之Shipyard

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

  2. Docker图形界面管理

    之前都是使用命令行进行Docker的管理,这里简单介绍一下Docker的图形界面管理.之所以说简单介绍,是因为在生产环境都是集群,很少使用图形界面管理单台Docker主机,所以就演示记录一下,在个人测 ...

  3. Docker图形界面管理之DockerUI

    DockerUI DockerrUI是一个基于Docker API提供图形化页面简单的容器管理系统,支持容器管理.镜像管理. 1.1 下载镜像 docker pull abh1nav/dockerui ...

  4. Docker图形界面管理之Portainer

    介绍 Portainer是一个开源.轻量级Docker管理用户界面,基于Docker API,可管理Docker主机或Swarm集群,支持最新版Docker和Swarm模式.官方文档 https:// ...

  5. Docker入门与应用系列(七)Docker图形界面管理之DockerUI

    1.dockeruiDockerrUI是一个基于Docker API提供图形化页面简单的容器管理系统,支持容器管理.镜像管理.1.1 下载镜像 docker pull abh1nav/dockerui ...

  6. Docker集中化web界面管理平台-Shipyard部署记录

    Docker图形页面管理工具基本常用的有三种: DOCKER UI,Shipyard,Portainer.对比后发现,Shipyard最强大,其次是Portainer,最后是Docker ui.之前介 ...

  7. 【云计算】Docker集中化web界面管理平台shipyard

    Docker集中化web界面管理平台shipyard docker shipyard seanlook                        2015年01月05日发布             ...

  8. Windows Azure Storage图形界面管理工具

    上一篇我们介绍了用PowerShell将Windows Azure的存储服务当网盘来使用.如果感觉还不够简单,那么这次我们来看看还有哪些使用起来更方便的图形界面管理工具吧.当然,这些工具必要支持中国版 ...

  9. 10款最好用的MySQL数据库客户端图形界面管理工具

    MySQL Workbench 该工具由MySQL开发,是一个跨平台的可视化数据库设计工具.它是DBDesigner4项目备受期待的替代者,它是一个本地图形化工具,支持的操作系统包括Windows.L ...

随机推荐

  1. xml配置文件特殊符号的处理方法

    2017.7.19遇到问题:偶然出现“认证失败,请重新登录”的现象   在xml中英文问号“?”是可以被正常解析的,但是以下这几种符号是不能正常解析的:分别是“&”.“<”.“>” ...

  2. iOS开发日常遇到问题记录

    1. [self.navigationController.navigationBar setTranslucent:NO]; iOS 7 之后,setTranslucent=yes 默认的   则状 ...

  3. nginx模块学习

    rewrite模块的语法 链接

  4. sublime c/c++ 环境

    sublime c/c++ 环境 参考: 别人的教程1 别人的教程2 注意,一定要用cmd先试一下,编译成功后再用sublime试 我遇到了一个很诡异的问题,就是cmd运行正常但sublime显示 在 ...

  5. Dailu Scrum (2015/10/27)

    在周日晚上PM已经为大家分配了部分的代码修改工作,今天晚上PM召集了被分配代码工作的3个DEV一起讨论要求修改的代码.在共同讨论的过程中确有发现以下代码的不规范之处,PM当即要求我们先要修改规范代码的 ...

  6. JavaScript实现弹出层(以layer.open为例)

    首先,引用layer,自行下载. 添加如下两行 <script src=" ../layer/jquery.min.js"></script> <sc ...

  7. Chapter 10 软件测试

    软件测试是软件质量保证的一项关键活动,验证与确认是贯穿软件生命周期的规范化评估方法.软件验证则试图证明在软件生存的各个阶段是否满足客户的需求,软件确认是一系列的活动和过程,两个活动相互独立但却相辅相成 ...

  8. mybatis连接数据库的几种方式

    1.可以通过配置文件 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="ht ...

  9. 使用node-webkit包装浏览器

    node-webkit简称nwjs:开源地址 https://github.com/nwjs/nw.js 参考博客 https://www.cnblogs.com/soaringEveryday/p/ ...

  10. 词频统计Web工程

    本次将原本控制台工程迁移到了web工程上.. 需求: 1.把程序迁移到web平台,通过用户上传TXT的方式接收文件: 2.在页面上给出链接 (如果有封皮.作者.字数.页数等信息更佳)或表格,展示经典英 ...