《Docker学习(一)Docker简介》

《Docker学习(二)在Windows10中安装Docker》

《Docker学习(三)在CentOS中安装Docker》

《Docker学习(四)Docker命令》

《Docker学习(五)Linux中Docker安装Tomcat和JDK》

小雅超集 centos_API

官网地址:https://shipyard-project.com/

Shipyard简介

Docker Swarm 是 Docker 的集群管理工具。Shipyard基于Docker Swarm而创建,能够管理Docker资源,包括容器、镜像、私有仓库等。

Shipyard与其他管理应用程序的不同之处在于具有可组合性,并与Docker远程API 完全兼容。Shipyard管理集群范围内的容器、镜像、节点、私有仓库,并提供身份验证和基于角色的访问控制。

用户界面

Shipyard提供便于Docker集群管理的用户界面。它可以管理容器、集群镜像、私有仓库、身份验证等。

API

Shipyard的核心是API,其Web操作页面最终均使用API实现所有功能。通过使用服务密钥,可以直接与API交互来管理Docker Swarm集群并构建定制集成。

Database

RethinkDB用于存储帐户、引擎、服务密钥和元数据信息。它不用于存储关于Docker容器或镜像的任何信息。/data目录作为卷公开。

Shipyard安装

安装部署分为两种方式:快速安装自动化部署、手动安装和部署  ,对应的官方网址:https://shipyard-project.com/deploy/

小雅超集 centos_docker_02

本文中选择的是手动安装方式,点击上图中的Manual。

首先,确定已安装了Docker,若尚未安装,可以参考文章《Docker学习(三)在CentOS中安装Docker》进行安装。

1.RethinkDB容器的创建和运行

Shipyard使用RethinkDB作为数据库。

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

小雅超集 centos_Docker_03

2.etcd容器的创建和运行

为了确保Swarm集群的leader选举,必须使用一个额外的key-value存储。可以使用Swarm支持的任何key-value工具,此处使用的是 etcd。

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

小雅超集 centos_小雅超集 centos_04

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

小雅超集 centos_docker_05

4.Swarm Agent容器的创建和运行

为运行的Swarm容器设置一个管理配置。<IP-OF-HOST>根据自己实际安装Docker的系统IP进行设置。

docker run \
    -ti \
    -d \
    --restart=always \
    --name shipyard-swarm-manager \
    swarm:latest \
    manage --host tcp://0.0.0.0:3375 etcd://<IP-OF-HOST>:4001

小雅超集 centos_API_06

5.Controller容器的创建和运行

由于本文中所涉及的安装Docker的Linux系统的8080端口已被占用,所以使用端口8800

一旦该shipyard-controller容器被创建和运行,则数据会被初始化到rethinkdb,则就可以通过http://[ip-of-host]:8800进行登录了。

docker run \
    -ti \
    -d \
    --restart=always \
    --name shipyard-controller \
    --link shipyard-rethinkdb:rethinkdb \
    --link shipyard-swarm-manager:swarm \
    -p 8800:8080 \
    shipyard/shipyard:latest \
    server \
    -d tcp://swarm:3375

小雅超集 centos_docker_07

在浏览器中访问http://[ip-of-host]:8800

小雅超集 centos_Docker_08

登录账号:admin  密码:shipyard

小雅超集 centos_API_09

小雅超集 centos_docker_10

点击上图中椭圆标注的图标,在如下图页面可对admin账号的密码进行修改

小雅超集 centos_Docker_11