Shipyard是一个集成管理 Docker 容器、镜像、镜像仓库的系统,相比较于 Docker 出品的 Swarm,Shipyard可以使用多个节点调度管理,可以动态加载节点,可以托管各个节点下的容器。官方文档https://shipyard-project.com/docs/deploy/automated/

1. 首次部署脚本

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

ACTION: 可以使用的指令 (deploy, upgrade, node, remove)
DISCOVERY: 集群系统采用Swarm进行采集和管理(在节点管理中可以使用‘node’)
IMAGE: 镜像,默认使用shipyard的镜像
PREFIX: 容器名字的前缀
SHIPYARD_ARGS: 容器的常用参数
TLS_CERT_PATH: TLS证书路径
PORT: 主程序监听端口 (默认端口: 8080)
PROXY_PORT: 代理端口 (默认: 2375)

1.1 脚本可选项

action:指令有效变量
deploy: 部署新的shipyard实例
upgrade: 更新已存在的实例(注意:你要保持相同的系统环境、变量来部署同样的配置)
node: 使用Swarm增加一个新的node

……

3. 增加一个节点

Shipyard节点部署脚本可以自动的安装 key/value 存储系统(etcd系统)。
在将要被添加的节点主机上执行脚本增加一个节点到swarm集群

1
curl -sSL https://shipyard-project.com/deploy | ACTION=node  DISCOVERY=etcd://applehater.cn:4001 bash -s

其中DISCOVERY是你运行 Shipyard 容器的域名或者地址

4. 操作

  1. 创建容器
    2.png

  2. 容器列表
    1.png

  3. 查看某个容器状态
    3.png

  4. 没办法变更容器配置
    这可能是最大弊端,无法找到变更配置的控制面板,如果创建 mysql 容器的时候忘记配置初始密码,可肯需要重新创建。像 Rancher 这样的平台可以自由对容器配置扩展,建立应用堆栈
    4.png

5. 移除

使用以下脚本移除 Shipyard Agent 或者 Shipyard Node

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