1、前言
谈及docker,避免不了需要熟练的记住好多命令及其用法,对于熟悉shell、技术开发人员而言,还是可以接受的,熟练之后,命令行毕竟是很方便的,便于操作及脚本化。但对于命令行过敏、非技术人员,进行docker部署、管理是比较头疼的,学习成本是很高的。
倘若有一款可视化的管理平台能够使用,那便是极好的。在技术的世界里,没有你做不到,只有你想不到,shipyard就有这样功能的,是一个docker可视化管理工具。此外还有其他可视化的docker管理工具供大家使用参考。
友情提示:
对于docker初学者,不推荐使用docker可视化工具,还是先多熟悉熟悉命令行吧,这样便于理解docker。
2、shipyard介绍
shipyard是docker的web可视化界面管理工具,是建立在docker集群管理工具Citadel之上,可以管理镜像、容器、主机等资源的web图形化工具,包括core和extension两个版本,core即shipyard主要是把多个 Docker host上的 containers 统一管理(支持跨越多个host),extension即shipyard-extensions添加了应用路由和负载均衡、集中化日志、部署等。Shipyard是在Docker Swarm实现对容器、镜像、docker集群、仓库、节点进行管理的web系统。
通过Web用户界面,你可以浏览相关信息,比如你的容器在使用多少处理器和内存资源、在运行哪些容器,哪些镜像,还可以检查所有集群上的事件日志等。
其特性主要包括:
1)支持节点动态集群,可扩展节点的规模(swarm、etcd方案)
2)支持镜像管理、容器管理、节点管理等功能
3)可视化的容器管理和监控管理
4)在线连接容器console终端
容器管理:
展示整个docker环境的容器列表,容器状态,容器属性、容器创建等。
此外,还有节点管理、仓库管理、用户管理等等,在此不一一罗列,安装完之后,自己慢慢体验吧。
3、shipyard安装
(这些镜像其实可以不用提前下载,执行下面安装脚本后就会自动下载这些镜像)
docker pull alpine
docker pull library/rethinkdb
docker pull microbox/etcd
docker pull shipyard/docker-proxy
docker pull swarm
docker pull shipyard/shipyard (#英文版)
(2)脚本安装shipyard
目前大部分安装方式都是利用官方提供的在线脚本通过命令行进行安装,使用”curl -s https://shipyard-project.com/deploy | bash -s” 命令进行安装即可。实际上就是从官网下一个deploy shell脚本。最近我安装时,发现根本就访问不了官网(https://shipyard-project.com/deploy),着实让人抓狂。
因此,采用离线脚本安装方式,在此提供shipyar deploy脚本下载。此脚本做了一些细微的改动,以解决安装时,遇到的常见问题。
为了满足国人的需求,早在2016年前dockerclub就推出了汉化版,便于国人使用。此处,便使用的是汉化版。如果需要使用英文版,则只需修改deploy脚本中IMAGE=${IMAGE:-dockerclub/shipyard:latest} 为 IMAGE=${IMAGE:-shipyard/shipyard:latest}即可。
修改为中文
将原先脚本修改为中文脚本
wget https://raw.githubusercontent.com/shipyard/shipyard-project.com/master/site/themes/shipyard/static/deploy
将官方脚本换成修改为中文版的脚本
将官方脚本换成修改为中文版的脚本
- grep -n shipyard:latest deploy
- sed -i ‘s/shipyard/shipyard:latest/dockerclub/shipyard:latest/g’ deploy
端口修改
默认会用到8080端口和2375端口
如果不想使用这两个端口可以修改
这里我们改成18080与12375端口
vi deploy
将下载的deploy脚本上传至docker环境服务器上,修改脚本权限,并执行该脚本。
chmod +x deploy
./deploy
从上述安装日志中可以知道,shipyard访问地址为:http://192.168.1.xxx:8080,用户名/密码:admin shipyard
注意:
1.启动
docker start shipyard-controller shipyard-swarm-agent shipyard-swarm-manager shipyard-proxy shipyard-certs shipyard-discovery shipyard-rethinkdb
2.停止
docker stop shipyard-controller shipyard-swarm-agent shipyard-swarm-manager shipyard-proxy shipyard-certs shipyard-discovery shipyard-rethinkdb
3.重启
docker restart shipyard-controller shipyard-swarm-agent shipyard-swarm-manager shipyard-proxy shipyard-certs shipyard-discovery shipyard-rethinkdb
4.如果不显示容器和镜像
firewall-cmd –zone=public –permanent –add-port=8080/tcp
firewall-cmd –zone=public –permanent –add-port=2375/tcp