11. 图形化管理和监控

下面我们介绍几个可以用图形化的方式来管理Docker的工具。

Shipyard:https://github.com/shipyard/shipyard(已停止维护)

Portainer

Portainer(基于 Go)是一个轻量级的管理界面,可让您轻松管理Docker主机或Swarm集群。

Portainer的使用意图是简单部署。它包含可以在任何 Docker 引擎上运行的单个容器(Docker for Linux 和 Docker for Windows)。

Portainer允许您管理 Docker 容器、image、volume、network 等。 它与独立的 Docker 引擎和 Docker Swarm 兼容。

Docker 命令安装:

  1. $ docker volume create portainer_data
  2. $ docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer

Swarm集群部署:

  1. $ docker volume create portainer_data
  2. $ docker service create \
  3. --name portainer \
  4. --publish 9000:9000 \
  5. --replicas=1 \
  6. --constraint 'node.role == manager' \
  7. --mount type=bind,src=//var/run/docker.sock,dst=/var/run/docker.sock \
  8. --mount type=volume,src=portainer_data,dst=/data \
  9. portainer/portainer \
  10. -H unix:///var/run/docker.sock

Docker Compose 部署:

  1. version: '2'
  2. services:
  3. portainer:
  4. image: portainer/portainer
  5. command: -H unix:///var/run/docker.sock
  6. volumes:
  7. - /var/run/docker.sock:/var/run/docker.sock
  8. - portainer_data:/data
  9. volumes:
  10. portainer_data:

portainer

Rancher

Rancher是一个开源的企业级容器管理平台。通过Rancher,企业不必自己使用一系列的开源软件去从头搭建容器服务平台。Rancher提供了在生产环境中使用管理DockerKubernetes的全栈化容器部署与管理平台。 ​​rancher

在后面学习kubernetes的课程的时候会给大家演示,用于我们快速搭建一个可运行kubernetes集群环境,非常方便。

cAdvisor

cAdvisorGoogle开发的容器监控工具,我们来看看 cAdvisor 有什么能耐。

  • 监控 Docker Host cAdvisor 会显示当前 host 的资源使用情况,包括 CPU、内存、网络、文件系统等。

  • 监控容器 点击 Docker Containers 链接,显示容器列表。点击某个容器,比如 sysdig,进入该容器的监控页面。

以上就是 cAdvisor 的主要功能,总结起来主要两点:

  • 展示 Host 和容器两个层次的监控数据。
  • 展示历史变化数据。

由于cAdvisor提供的操作界面略显简陋,而且需要在不同页面之间跳转,并且只能监控一个 host,这不免会让人质疑它的实用性。但 cAdvisor 的一个亮点是它可以将监控到的数据导出给第三方工具,由这些工具进一步加工处理。

我们可以把 cAdvisor 定位为一个监控数据收集器,收集和导出数据是它的强项,而非展示数据。 cAdvisor 支持很多第三方工具,其中就包括后面我们重点要学习的Prometheus

  1. $ docker run \
  2. --volume=/:/rootfs:ro \
  3. --volume=/var/run:/var/run:rw \
  4. --volume=/sys:/sys:ro \
  5. --volume=/var/lib/docker/:/var/lib/docker:ro \
  6. --volume=/dev/disk/:/dev/disk:ro \
  7. --publish=8080:8080 \
  8. --detach=true \
  9. --name=cadvisor \
  10. google/cadvisor:latest

通过访问地址:http://127.0.0.1:8080/containers/ 可以查看所有容器信息: docker cAdvisor ​​ 除此之外,cAdvisor 还提供了一个 Rest API:https://github.com/google/cadvisor/blob/master/docs/api.md

cAdvisor 通过该 REST API 暴露监控数据,格式如下:

  1. http://<hostname>:<port>/api/<version>/<request>

点击查看本文视频

扫描下面的二维码(或微信搜索k8s技术圈)关注我们的微信公众帐号,在微信公众帐号中回复 加群 即可加入到我们的 kubernetes 讨论群里面共同学习。

k8s技术圈二维码