《Docker学习(一)Docker简介》
《Docker学习(二)在Windows10中安装Docker》
《Docker学习(三)在CentOS中安装Docker》
《Docker学习(四)Docker命令》
《Docker学习(五)Linux中Docker安装Tomcat和JDK》
官网地址: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/
本文中选择的是手动安装方式,点击上图中的Manual。
首先,确定已安装了Docker,若尚未安装,可以参考文章《Docker学习(三)在CentOS中安装Docker》进行安装。
1.RethinkDB容器的创建和运行
Shipyard使用RethinkDB作为数据库。
docker run \
-ti \
-d \
--restart=always \
--name shipyard-rethinkdb \
rethinkdb
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
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
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
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
在浏览器中访问http://[ip-of-host]:8800
登录账号:admin 密码:shipyard
点击上图中椭圆标注的图标,在如下图页面可对admin账号的密码进行修改