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

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 在IT领域,我们永远不敢保证一切都会运行的非常顺利,没有任何Bug的出现。那么,我们能用什么简单、有效的方法来监听自己的Docker容器呢?其实,Docker开发人员已经为我们广大用户考虑到了这一点,在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命令,查看是否有一个正在运行的容器就是那个导致异常的罪魁祸首。如果您发现容器占用了太多的系统资源,那么您可以重启该容器并重新检查统计数据。这真的是一个非常简单的容器管理工具,快来尝试一下吧!

目录
相关文章
|
8天前
|
运维 Cloud Native 虚拟化
一文吃透云原生 Docker 容器,建议收藏!
本文深入解析云原生Docker容器技术,涵盖容器与Docker的概念、优势、架构设计及应用场景等,建议收藏。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
一文吃透云原生 Docker 容器,建议收藏!
|
4天前
|
运维 Cloud Native 云计算
云原生之旅:Docker容器化实战
本文将带你走进云原生的世界,深入理解Docker技术如何改变应用部署与运维。我们将通过实际案例,展示如何利用Docker简化开发流程,提升应用的可移植性和伸缩性。文章不仅介绍基础概念,还提供操作指南和最佳实践,帮助你快速上手Docker,开启云原生的第一步。
|
2天前
|
关系型数据库 MySQL Java
【Docker最新版教程】一文带你快速入门Docker常见用法,实现容器编排和自动化部署上线项目
Docker快速入门到项目部署,MySQL部署+Nginx部署+docker自定义镜像+docker网络+DockerCompose项目实战一文搞定!
|
1天前
|
开发者 Docker Python
从零开始:使用Docker容器化你的Python Web应用
从零开始:使用Docker容器化你的Python Web应用
8 1
|
5天前
|
运维 持续交付 虚拟化
深入解析Docker容器化技术的核心原理
深入解析Docker容器化技术的核心原理
22 1
|
7天前
|
机器学习/深度学习 数据采集 Docker
Docker容器化实战:构建并部署一个简单的Web应用
Docker容器化实战:构建并部署一个简单的Web应用
|
7天前
|
JavaScript 开发者 Docker
Docker容器化实战:构建并部署一个简单的Web应用
Docker容器化实战:构建并部署一个简单的Web应用
|
7天前
|
持续交付 开发者 Docker
Docker容器化技术实战指南
Docker容器化技术实战指南
23 1
|
7天前
|
安全 Docker 微服务
深入理解Docker容器技术:从基础到实践
深入理解Docker容器技术:从基础到实践
|
9天前
|
缓存 监控 开发者
掌握Docker容器化技术:提升开发效率的利器
在现代软件开发中,Docker容器化技术成为提升开发效率和应用部署灵活性的重要工具。本文介绍Docker的基本概念,并分享Dockerfile最佳实践、容器网络配置、环境变量和秘密管理、容器监控与日志管理、Docker Compose以及CI/CD集成等技巧,帮助开发者更高效地利用Docker。