DockerUI
DockerUI是一个开源的基于Docker API的web应用程序,提供等同Docker命令行的大部分功能,支持container管理,image管理, networks 管理。它最值得称道的是它华丽的设计和用来运行和管理docker的简洁的操作界面。
获取
首先拉去dockerUI镜像,现在dockerUI镜像
1 | $ docker pull uifd/ui-for-docker |
查看本地镜像
1 | $ docker images |
启动容器
1 | $ docker run -it -d --name docker-web -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock docker.io/uifd/ui-for-docker |
接着就可以在浏览器访问DockerUI管理界面了。启动了 DockerUI容器之后,就可以用它来执行启动、暂停、终止、删除以及DockerUI提供的其它操作Docker容器的命令。在浏览器里面输入 http://ip-address:9000,默认情况下登录不需要认证,但是可以配置我们的 web 服务器来要求登录认证
DockerUI优点:
1)支持container批量操作;
2)支持image管理(虽然比较薄弱)
DockerUI缺点:
不支持多主机。
Shipyard入门
比较遗憾目前Shipyard作者已停止维护,不过目前我们还是可以使用
是一个集成管理docker容器、镜像、Registries的系统,它可以简化对横跨多个主机的Docker容器集群进行管理. 通过Web用户界面,你可以大致浏览相关信息,比如你的容器在使用多少处理器和内存资源、在运行哪些容器,还可以检查所有集群上的事件日志。
其特性主要包括:
1)支持节点动态集群,可扩展节点的规模(swarm、etcd方案)
2)支持镜像管理、容器管理、节点管理等功能
3)可视化的容器管理和监控管理
4)在线容console终端
安装主节点(管理端)
1 | $ curl -s https://raw.githubusercontent.com/shipyard/shipyard-project.com/master/site/themes/shipyard/static/deploy | bash -s |
登陆拉取镜像,容器启动完成。
登陆
通过默认用户密码登陆系统
容器管理
从容器列表看shipyard还是能支持swarm的
容器的部署,填空题好费劲
容器详情
镜像管理
安裝节点
在节点主机上执行如下命令,添加
1 | $ curl -sSL https://raw.githubusercontent.com/shipyard/shipyard-project.com/master/site/themes/shipyard/static/deploy | ACTION=node DISCOVERY=etcd://192.168.48.244:4001 bash -s |
执行完如上命令,我在shipyard图形化管理->节点管理中 并未显示添加的节点,不知道什么原因。
总结
通过如上的使用测试,所以还凑合用吧,作者有心无力已停更,所以这个虽然能用,但是如果Docker后续更新了啥这个可能就没法支持了。
cAdvisor入门
cAdvisor 是 google 开发的容器监控工具,我们来看看 cAdvisor 功能。
运行 cAdvisor 容器
1 | $ docker run \ |
cAdvisor 会显示当前 host 的资源使用情况,包括 CPU、内存、网络、文件系统等。
打开速度有点慢
点击docker Containers查看运行中的容器列表
点击容器连接,可以对当前容器详情进行监控
cAdvisor 提供的操作界面略显简陋,而且需要在不同页面之间跳转,打开页面速度稍慢,并且只能监控一个 host,它的一大亮点是它可以将监控到的数据导出给第三方工具如Prometheus,后续继续研究。
Portainer
Portainer是一个开源、轻量级Docker管理用户界面,基于Docker API,提供状态显示面板、应用模板快速部署、容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作)、事件日志显示、容器控制台操作、Swarm集群和服务等集中管理和操作、登录用户管理和控制等功能。功能十分全面,基本能满足中小型企业对容器管理的全部需求。
单机管理
1 | $ docker volume create portainer_data |
执行完成浏览器访问,第一次访问设置管理员密码并登陆
选择本地local
确定登陆系统后可以对本地主机上的docker容器、镜像、网络进行管理
本地主机docker维护
集群管理
基于之前我们创建的swarm集群,我们可以很方便的将Portainer指挥艇部署在swarm集群上,并对集群进行管理,为避免之前单机测试挂载目录对下面示例的影响(导致新建的portainer无法登陆),我们先删除上面创建的挂载
1 | $ docker volume rm portainer_data |
通过stack创建服务,下载官方yaml文件,并执行
1 | $ curl -L https://downloads.portainer.io/portainer-agent-stack.yml -o portainer-agent-stack.yml |
浏览器访问宿主机,如上第一次设置管理员密码并登陆
对swarm集群主机stack,service,containers进行管理
swarm详情
以上实例以ubuntu18.04主机为例测试,window等其他平台安装使用参见官网文档
官方演示网址:http://demo.portainer.io 账号admin 密码 tryportainer
参考文章
https://www.portainer.io/
http://dockone.io/article/1686
https://portainer.readthedocs.io/
https://www.fengerzh.com/portainer/