您的Docker 容器还健康吗?一条简单命令帮您找出答案 [转载]

说在前面

您已经启动并运行了Docker一段时间,而且已经在网络上部署了多个容器。在这里,我们假设那些容器都应该是健康、安全的,但是大家都知道,这仅仅是假设而已,事实上在IT领域,我们永远不敢保证一切都会运行的非常顺利,没有任何Bug的出现。那么,我们能用什么简单、有效的方法来监听自己的Docker容器呢?其实,Docker开发人员已经为我们广大用户考虑到了这一点,在docker 中包含了一个非常易于使用的监听工具,它可以让用户深入了解容器的运行方式。

在这里,我将向您演示如何使用这个监听工具。

统计数据(Stats)

我们讨论的这个监听工具实际上只是一个与docker命令一起使用的选项,这个命令可以显示与容器有关的实时信息流。登录到Docker服务器并发出如下命令:

docker stats

您将看到当前正在运行的容器统计数据(如图A所示)。

(图A)当前运行的容器统计数据

默认命令将为您显示Container ID、CPU、MEM、NET和BLOCK的使用情况,以及容器的Process ID。如果您不需要显示所有的信息,您可以使用“format”命令来查看您想要看到的信息。举个例子,您只想查看Container ID、CPU、MEM、NET的使用情况。使用--format选项,之后添加想要查看的信息,格式如下所示:

docker stats --format "table {{.Container}}t{{.CPUPerc}}t{{.MemUsage}}t{{.NetIO}}"

得到的信息如图B所示。

(图B)docker stats的输出结果

各种格式占位符的含义:

  • .Container - 显示容器ID;
  • .Name - 显示容器名称;
  • .ID - 显示容器ID;
  • .CPUPerc - 显示CPU百分比;
  • .MemUsage - 显示内存使用情况;
  • .NetIO - 显示网络I / O;
  • .BlockIO - 显示块I / O;
  • .MemPerc - 显示内存百分比;
  • .PID - 显示进程ID的数量;

您还可以使用简单的方式得到您想要的结果,如下所示:

docker stats --format "{{.Container}}: {{.CPUPerc}}"

上面的命令只显示容器ID(Container)和CPU百分比(CPUPerc)(如图C所示)。

(图C)这是一种非常简单的格式

这就是使用docker stats命令的方法。如您所见,这是一个非常简单的监听工具,它可以让您快速了解容器的工作方式。如果您发现Docker服务器行为异常,请发出docker stats命令,查看是否有一个正在运行的容器就是那个导致异常的罪魁祸首。如果您发现容器占用了太多的系统资源,那么您可以重启该容器并重新检查统计数据。这真的是一个非常简单的容器管理工具,快来尝试一下吧!

时间: 2024-10-06 14:54:43

您的Docker 容器还健康吗?一条简单命令帮您找出答案 [转载]的相关文章

如何在 Docker 容器中架设一个完整的 WordPress 站点

大家好,今天我们来学习一下如何在 Docker 容器里运行的 Nginx Web 服务器中安装 WordPress.WordPress 是一个很好的免费开源的内容管理系统,全球成千上万的网站都在使用它.Docker 是一个开源项目,提供了一个可以打包.装载和运行任何应用的轻量级容器的开放平台.它没有语言支持.框架和打包系统的限制,从小型的家用电脑到高端服务器,在何时何地都可以运行.这使它们可以不依赖于特定软件栈和供应商,像一块块积木一样部署和扩展网络应用.数据库和后端服务. 今天,我们会在 do

如何在Docker容器中运行GUI程序

如何在Docker容器中运行GUI程序 各位,今天我们将学习如何在Docker之中运行GUI程序.我们可以轻易地在Docker容器中运行大多数GUI程序且不出错.Docker是一个开源项目,提供了一个打包.分发和运行任意程序的轻量级容器的开放平台.它没有语言支持.框架或者打包系统的限制,并可以运行在任何地方.任何时候,从小型的家用电脑到高端的服务器都可以运行.这让人们可以打包不同的包用于部署和扩展网络应用,数据库和后端服务而不必依赖于特定的栈或者提供商. 下面是我们该如何在Docker容器中运行

使用Docker容器搭建Jenkins集群

本文讲的是使用Docker容器搭建Jenkins集群[编者的话]本文使用Jelastic Cloud搭建了Jenkins作业环境,包括手动部署和自动部署两个方式,对Jelastic Cloud感兴趣的用户,可以尝试注册一个免费账户,进行试验. 如果不太了解Jenkins,可以先了解如何"手动设置Jenkins"一节. 如果想自动部署,可以去了解 "自动化"一节. Jenkins,由于其管理大量节点,以及执行器(executor)对大量创建和部署提供响应的能力成为很热

Docker 容器健康检查机制

在分布式系统中,经常需要利用健康检查机制来检查服务的可用性,防止其他服务调用时出现异常. 对于容器而言,最简单的健康检查是进程级的健康检查,即检验进程是否存活.Docker Daemon会自动监控容器中的PID1进程,如果docker run命令中指明了restart policy,可以根据策略自动重启已结束的容器.在很多实际场景下,仅使用进程级健康检查机制还远远不够.比如,容器进程虽然依旧运行却由于应用死锁无法继续响应用户请求,这样的问题是无法通过进程监控发现的. 在Kubernetes提供了

你还不造吗?Docker容器技术5大窍门!

Docker自从去年走到聚光灯下后,其粉丝基数就一直在增长.想要了解为什么,以及想从你的容器中获得更多,以下主要回顾了2015年Docker容器的五大窍门.2014年Docker复兴了容器技术,并在过去的一年里主导了整个容器市场.容器的便携性和可扩展性在云用户和开发人员那里得到了共鸣,并随着应用的增长,Docker不断地针对企业用户扩展其自身功能.尽管竞争对手争相提供类似服务,但Docker已经成为一个家喻户晓的名字.不过,一些企业仍然不确定他们是否应该采用容器以及如何将容器集成到他们的云环境中

基于微服务和Docker容器技术的PaaS云平台架构设计

本文讲的是基于微服务和Docker容器技术的PaaS云平台架构设计[编者的话]在系统架构上,PaaS云平台主要分为微服务架构.Docker容器技术.DveOps三部分,这篇文章重点介绍微服务架构的实施. [3 天烧脑式容器存储网络训练营 | 深圳站]本次培训以容器存储和网络为主题,包括:Docker Plugin.Docker storage driver.Docker Volume Pulgin.Kubernetes Storage机制.容器网络实现原理和模型.Docker网络实现.网络插件.

如何使用Elasticsearch和cAdvisor监控Docker容器

如果你正在运行 Swarm 模式的集群,或者只运行单台 Docker,你都会有下面的疑问: 我如何才能监控到它们都在干些什么?这个问题的答案是"很不容易". 你需要监控下面的参数: 容器的数量和状态. 一台容器是否已经移到另一个节点了,如果是,那是在什么时候,移动到哪个节点? 给定节点上运行着的容器数量. 一段时间内的通信峰值. 孤儿卷和网络(LCTT 译注:孤儿卷就是当你删除容器时忘记删除它的卷,这个卷就不会再被使用,但会一直占用资源). 可用磁盘空间.可用 inode 数. 容器数

灵雀云首席架构师:Docker容器的监控技术

前言     在Docker容器技术飞速发展之时,监控容器的效率与健康也变成了至关重要的需求.在Docker资深提供的监控技术逐渐成熟时,来自第三方的监控工具也同时步入了人们的视线.   本文将为大家介绍Docker容器的监控技术,并讨论时下在容器生态圈最受欢迎的监控工具.同时,来自美国的Saurabh也将分享容器技术在国外的应用趋势以及他个人的技术洞察.      大家好,我是Saurabh Wagh,目前在灵雀云负责容器服务相关的产品技术架构.我本人base在美国西雅图,恰好近期在北京参观几

品高公开课 | 基于Docker容器的微服务架构实践

小编的话 "品高公开课"系列文章意在分享技术牛人的知识干货,每期主题都不一样哟!期待各位读者在文后发表留言,来一场技术上的交流和思想上的碰撞! 微服务以一种全新的架构设计模式,牵动了互联网应用从设计到运维整个流程方法论的变革. 而以Docker为代表的容器技术则为微服务理念提供了匹配的实现机制.本周五,将由品高软件工程师陈洪杰带讲述微服务架构的故事. 分享嘉宾 陈洪杰,目前就任品高广州云架构产品部--BingoCloud平台的软件开发工程师,拥有Docker,LXC等多个容器平台的项目