Docker图形化web管理工具之DockerUI、Shipyard和Portainer介绍
Tags: DockerDockerUIlazydockerPortainerShipyardweb界面图形化界面管理工具
Docker图形化工具
Docker图形页面管理工具常用的,DockerUI,Portainer,Shipyard。DockerUI是Portainer的前身,这三个工具通过docker api来获取管理的资源信息。平时我们常常对着shell对着这些命令行客户端,审美会很疲劳,如果有漂亮的图形化界面可以直观查看docker资源信息,也是非常方便的。今天我们就搭建单机版的某些常用图形页面管理工具。这几种图形化管理工具以Portainer最为受欢迎。
Portainer
https://hub.docker.com/r/portainer/portainer
1 2 3 4 5 6 7 8 | docker pull portainer/portainer:1.25.0 docker volume create portainer_data docker run --name lhrportainer -h lhrportainer -d -p 8000:8000 -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer:1.25.0 http://192.168.8.8:9000 admin/portainer |
1.优点
支持容器管理、镜像管理
轻量级,消耗资源少
基于docker api,安全性高,可指定docker api端口,支持TLS证书认证。
支持权限分配
支持集群
2.缺点
功能不够强大。
容器创建后,无法通过后台增加端口。
1. 查看portainer平均值
1 | [root@localhost ~]# docker search portainer |
2.选择喜欢的portainer风格整合,下载
1 | docker pull portainer/portainer |
3. 启动dockerui容器
1 2 | docker volume create portainer_data docker run -d -p 9000:9000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer |
参数说明:-v /var/run/docker.sock:/var/run/docker.sock:将托管机的Docker守护进程(Docker daemon)关闭监听的Unix域可以挂载到容器中;-v portainer_data:/ data:把宿主机portainer_data数据卷挂载到容器/ data目录;
4.网页管理
1,登陆http:// xxxx:9000,设置管理员账号和密码。
2,单机版在新页面选择本地即可完成安装,选择远程然后输入SWARM的IP地址,单击连接完成安装。
4.浏览器访问http://192.168.2.119:9000,设置一个密码
我们建造的是单机版,直接选择Local,点击连接
现在就可以使用了,点击Local进入仪表盘主页面。
容器页面
DockerUI
1.查看dockerui常量
1 | [root@localhost ~]# docker search dockerui |
2.选择喜欢的dockerui风格本身,下载
1 | [root@localhost ~]# docker pull abh1nav/dockerui |
3.启动dockerui容器,这里需要注意带上privileged参数,提升权限
1 | [root@localhost ~]# docker run -d --privileged --name dockerui -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock abh1nav/dockerui |
前往网页查看之前,您需要打开服务器的9000端口:firewall-cmd --permanent --zone = public --add-port = 9000 / tcpfirewall-cmd --reload
4.浏览器查看dockerui:http : //192.168.2.119 :9000 或者curl http://192.168.2.119:9000
1.优点
- 支持容器管理
- 支持镜像管理
- 基于docker api,自身也是一个容器。
- 稳定性高
- 可动态显示显示容器之间关系图
- 容器管理,增加端口映射,增加系统变量、映射目录等
2.缺点
- 没有登录验证,因为没有登录体系,目前解决办法是,只开放本地访问,或者通过TLS来对权限进行控制。
- 无法分配某容器给某用户。
- 不支持多主机。
- 不支持集群swarm等
- 功能少
- 不支持控制台命令
Shipyard
轻量级图形页面管理之Shipyard
1.启动docker,下载镜像
1 2 3 4 5 6 7 | systemctl restart docker docker pull alpine docker pull microbox/etcd docker pull library/rethinkdb docker pull shipyard/docker-proxy docker pull swarm docker pull shipyard/shipyard |
2.下载shipyard脚本
1 2 3 4 5 | wget https://raw.githubusercontent.com/shipyard/shipyard-project.com/master/site/themes/shipyard/static/deploy chmod +x deploy bash deploy http://localhost:80805 -- 用户名和密码:Username: admin Password: shipyard |
- 支持镜像管理、容器管理。
- 支持控制台命令
- 容器资源消耗监控
- 支持集群swarm,可以随意增加节点
- 支持控制用户管理权限,可以设置某个容器对某个用户只读、管理权限。
- 有汉化版
4.缺点
- 启动容器较多,占用每个节点的一部分资源
- 兼容性性不高,可能是我自身原因,经常打不开首页。
lazydocker
无图形化界面。
1 2 3 4 5 6 | -- lazydocker docker pull lazyteam/lazydocker docker run --rm -it -v \/var/run/docker.sock:/var/run/docker.sock \-v ~/.config/lazydocker:/.config/jesseduffield/lazydocker lazyteam/lazydocker alias lzd='docker run --rm -it -v /var/run/docker.sock:/var/run/docker.sock -v ~/.config/lazydocker:/.config/jesseduffield/lazydocker lazyteam/lazydocker' |
docker.UI
部署
docker.UI的部署很简单,你可以从docker下载后再用ssh命令启动,也可以直接docker run拉取并启动。并且docker.UI的容器大小也只有60来M。
打开NAS的ssh链接,随后依次输入以下命令:
- sudo -i【获取管理员命令】
- docker run —restart always —name docker.ui -d -v /var/run/docker.sock:/var/run/docker.sock -p 8989:8999 joinsunsoft/docker.ui【拉取并后台启动容器,其中容器端口8999不可更改,本地端口8989随意更改,不冲突即可】
至于为什么只能用命令行启动,那是因为群晖以及大部分NAS是不支持映射docker的守护进程,也就是docker.sock文件,所以我们只能在ssh链接NAS后再使用管理员命令拉取镜像映射docker.sock文件,这样才能使docker.UI拥有docker权限。
体验
浏览器输入 http://nasip:本地端口 即可访问了,初始用户名/密码ginghan/123456。
整个界面很清爽,主界面还会展示资源利用率,右边则是系统信息,最下面是更新日志,可以看到去年八月后就断更了,也不知道作者还会更新不,不过目前看起来完成度已经很高了。
进入镜像管理,你可以看到目前nas上下载的所有镜像,值得一提的是它还会展示中间镜像以及一些下载中断或者下载出错后残留的镜像,这些是不会在群晖中显示的,也就是所谓的垃圾文件,可以直接进行删除即可。
除此之外你还能看到下面的容器管理、存储卷以及集群和任务编排等信息,这些就等大家自行研究了。
总的来看还算不错,好看的UI加上便捷的操作很适合作为长期使用的docker管理,不过我删除或者加载镜像时总觉得有点慢,不知道是不是优化的问题,也不清楚作者还会继续更新不,各位小伙伴觉得还不错可以部署尝试一下。
参考
https://mp.weixin.qq.com/s/MFwEx2-dKs4vqNMw1G4B0w
https://my.oschina.net/u/200350/blog/3125682