docker图形化管理
docker图形化管理
Docker针对于系统工程师或者开发人员来说操作比较简单。一般我们习惯了对着黑黑的屏幕敲命令dockerpull、docker push、docker run、docker logs、docker ps等等。或者我们将常用的Docker原生api封装到我们的shell脚本工具或者python脚本工具中去使用管理Docker。然而对于部分用户,或者说非技术用户去使用Docker难度其实不小。因此一个明了的可视化管理界面显得非常重要了。下面我们学习DockerUI、shipyard、Portainer这三种Docker可视化管理界面。
一、DockerUI
运行Docker容器和管理它们可能会花费一点点努力和时间,所以现在有一款基于web的应用程序DockerUI,可以让管理和运行容器变得很简单。DockerUI 是一个对那些不熟悉Linux命令行,但又很想运行容器化程序的人很有帮助的工具。DockerUI是一个开源的基于web的应用程序,它最值得称道的是它华丽的设计和用来运行和管理Docker的简洁的操作界面。
1、部署下载镜像
uifd/ui-for-docker镜像可能下载不下来,需要找到对应的国内镜像
[root@stw ~]# docker pull uifd/ui-for-docker
Using default tag: latest
Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
[root@stw ~]# docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/uifd/ui-for-docker:latest
latest: Pulling from ddn-k8s/docker.io/uifd/ui-for-docker
5f98d79a718e: Pull complete
Digest: sha256:e25ffa12dc937402d614fb2941e4c6196e037a38777cadf147e3402a71615a7d
Status: Downloaded newer image for swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/uifd/ui-for-docker:latest
swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/uifd/ui-for-docker:latest
[root@stw ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 41f689c20910 2 months ago 192MB
httpd latest 65005131d37e 2 months ago 117MB
centos 7 eeb6ee3f44bd 4 years ago 204MB
swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/uifd/ui-for-docker latest 965940f98fa5 9 years ago 8.1MB
[root@stw ~]# docker run --name dockerui -itd -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/uifd/ui-for-docker:latest
2a525bb02178049499faade725d5e02c8f2878480bef43909dbafd97835cddec
2、使用,浏览器访问
在浏览器输入http://ip:9000即可访问了。如图所示,界面比较整洁。首页的信息分别是运行中的容器(附带运行了的时间),容器创建记录曲线,和镜像创建记录曲线。
容器管理基本,如图所示,展示的信息比较齐全,但是忽略了我们比较常用管理容器的方式之一,就是查看日志功能也就是docker logs的展示,也少了连接到容器内部执行命令的可视化操作,也就是docker exec 。
如图所示,是容器网络关系图
二、Shipyard
Shipyard是一个基于Web的Docker管理工具,支持多Docker host,可以把多个Docker host上的容器统一管理;可以查看images,甚至build images;并提供RESTful API等,其特性主要包括:
1、支持节点动态集群,可扩展节点的规模(swarm、etcd方案)。
2、支持镜像管理、容器管理、节点管理等功能。
3、可视化的容器管理和监控管理。
4、在线容器console终端。
(1)部署,下载安装包并解压
使用Shipyard官方提供的自动部署脚本完成部署,下载脚本,但是此时官网不能够下载,下载地址如下:
链接:https://pan.baidu.com/s/1tUZbKge_SvqjA7-G4cDnwQ
提取码:i1dc
[root@stw ~]# rz -E
rz waiting to receive.
[root@stw ~]# ls
anaconda-ks.cfg Documents initial-setup-ks.cfg Pictures shipyard.tar.gz Videos
Desktop Downloads Music Public Templates
[root@stw ~]# tar zxvf shipyard.tar.gz
shipyard/
shipyard/deploy
shipyard/install.sh
[root@stw ~]# ls
anaconda-ks.cfg Documents initial-setup-ks.cfg Pictures shipyard Templates
Desktop Downloads Music Public shipyard.tar.gz Videos
[root@stw ~]# cd shipyard/
[root@stw shipyard]# ls
deploy install.sh
[root@stw shipyard]# sh install.sh
##### Start pulling dependency packages... #####
Using default tag: latest
latest: Pulling from library/rethinkdb
5c32499ab806: Pull complete
e21178eaa9ee: Pull complete
31a40a5bc2fe: Pull complete
d5490cb8d309: Pull complete
00085c9c88c2: Pull complete
Digest: sha256:b418c8d89595a15666738c0d0eb62bdd16042ff2b88510cb992f3efec8d27c8b
Status: Downloaded newer image for rethinkdb:latest
docker.io/library/rethinkdb:latest
Using default tag: latest
Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
Using default tag: latest
Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
Using default tag: latest
Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
Using default tag: latest
Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
##### All dependency packages pulled successful! #####
##### Start install shipyard... #####
Unable to find image 'alpine:latest' locally
latest: Pulling from library/alpine
2d35ebdb57d9: Pull complete
Digest: sha256:4b7ce07002c69e8f3d704a9c5d6fd3053be500b7f1c69fc0d80990c2ad8dd412
Status: Downloaded newer image for alpine:latest
Deploying Shipyard-> Starting Database-> Starting Discovery
Unable to find image 'microbox/etcd:latest' locally
docker: Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers).
See 'docker run --help'.
[root@stw shipyard]# vim install.sh
但是因为网络原因,很多都是国外的镜像,下载不下来需要也手动去查找并下载国内的代理镜像,不建议使用
三、Portainer
Portainer是一个轻量级的Docker环境管理UI,可以用来管理Docker host和Docker swarm集群。它的轻量级,轻量到只要个不到100M的Docker镜像容器就可以完整的提供服务。直接启动即可,非常方便。主要功能:
1、提供状态显示面板:显示主机或者swarm集群上有多少镜像,容器等
2、应用模板快速部署:可快速创建容器
3、事件日志显示:对任何操作有记录,并且有页面可以显示审计日志
4、容器控制台操作:查看容器,管理容器,查看容器占用的性能(内存,cpu等)
5、登录用户管理:有完备的用户系统,权限控制
1、部署
(1)下载Portainer镜像
[root@stw ~]# docker pull portainer/portainer
Using default tag: latest
latest: Pulling from portainer/portainer
772227786281: Pull complete
96fd13befc87: Pull complete
0bad1d247b5b: Pull complete
b5d1b01b1d39: Pull complete
Digest: sha256:47b064434edf437badf7337e516e07f64477485c8ecc663ddabbe824b20c672d
Status: Downloaded newer image for portainer/portainer:latest
docker.io/portainer/portainer:latest
(2)更多的情况下,我们会有一个Docker集群,可能有几台机器,也可能有几十台机器,因此,进行集群管理就十分重要了,Portainer也支持集群管理,Portainer可以和Swarm一起来进行集群管理操作。本次演示单机版。Por tainer运行十分简单,只需要一条语句即可启动容器,来管理该机器上的docker镜像、容器等数据。
[root@stw ~]# docker run --name portainer -itd -p 9001:9000 -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer:latest
cfc49dd76f65753e4dc93f714a3a8ca8fd8b3b3c54356346ac2cce586fed9751
2、使用,访问http://ip:9001/#/auth,登陆默认账号admin,密码会在第一次登陆时重新设置