我们上次对docker swarm的使用,docker swarm的重要概念节点(管理节点,工作节点),管理节点会把任务下发到工作节点上面去,服务一组任务的节点的结合。任务就是一个实例,一个实例里面包含一个容器,之前都是通过命令行来操作docker的。有没有图形化的界面来管理我们的docker呢?实际上是有的。
https://www.portainer.io/
Portainer是Docker的图形化管理工具,提供状态显示面板、应用模板快速部署、容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作)、事件日志显示、容器控制台操作、Swarm集群和服务等集中管理和操作、登录用户管理和控制等功能。功能十分全面,基本能满足中小型单位对容器管理的全部需求。可以轻松的管理docker主机和集群。
docker run -d -p 9000:9000 \ -v /var/run/docker.sock:/var/run/docker.sock \ --name prtainer \ portainer/portainer
192.168.66.100:9000 第一次访问需要创建管理员的用户
https://github.com/google/cadvisor
为了解决docker stats的问题(存储、展示),谷歌开源的cadvisor诞生了,cadvisor不仅可以搜集一台机器上所有运行的容器信息,还提供基础查询界面和http接口,方便其他组件如Prometheus进行数据抓取。 Cadvisor使用Go语言开发,利用Linux的cgroups获取容器的资源使用信息,在K8S中集成在Kubelet里作为默认启动项,官方标配。
docker run \ --volume=/var/run:/var/run:rw \ --volume=/:/rootfs:ro \ --volume=/sys:/sys:ro \ --volume=/var/lib/docker/:/var/lib/docker:ro \ --volume=/dev/disk/:/dev/disk:ro \ --publish=8080:8080 \ --detach=true \ --name=cadvisor \ google/cadvisor:latest
注意:在Ret Hat,CentOS, Fedora 等发行版上需要传递如下参数,因为 SELinux 加强了安全策略:--privileged=true
http://192.168.66.100:8080/containers/
其实界面话不是重点,重点是rest api服务,可以获取对应的数据信息http://192.168.66.100:8080/api/v1.3/containers
数据导出出去供第三方来使用监控和分析,其实接口才是cAdvisor最突出的功能,但对于单机来说cAdvisor也是没有问题的,
PS:这次给大家介绍了图形化的管理工具portainer和cAdvisor,在后面学习k8s的时候都会经常的使用这个cAdvisor。
本文分享自微信公众号 - 编程坑太多(idig88),作者:诸葛阿明
原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。
原始发表时间:2019-08-05
本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。
我来说两句