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

本文涉及的产品
容器镜像服务 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命令,查看是否有一个正在运行的容器就是那个导致异常的罪魁祸首。如果您发现容器占用了太多的系统资源,那么您可以重启该容器并重新检查统计数据。这真的是一个非常简单的容器管理工具,快来尝试一下吧!

目录
相关文章
|
2月前
|
缓存 Java Docker
如何对应用代码进行优化以提高在Docker容器中的性能?
如何对应用代码进行优化以提高在Docker容器中的性能?
193 1
|
1月前
|
安全 持续交付 Docker
Docker:重塑现代软件交付的容器引擎
Docker:重塑现代软件交付的容器引擎
|
1月前
|
存储 持续交付 Docker
Docker:轻量级容器技术重塑应用交付
Docker:轻量级容器技术重塑应用交付
|
1月前
|
Kubernetes Cloud Native 持续交付
Docker:轻量级容器化技术解析
Docker:轻量级容器化技术解析
|
1月前
|
运维 测试技术 Docker
Docker:轻量级容器化技术革命
Docker:轻量级容器化技术革命
|
1月前
|
存储 持续交付 Docker
Docker:颠覆传统开发的轻量级容器革命
Docker:颠覆传统开发的轻量级容器革命
|
2月前
|
Docker 容器
熟悉Docker容器管理命令:start、stop与restart详细使用指南
掌握这些Docker容器管理命令对于维护应用程序的正常运行至关重要。在实际操作中,应注意容器配置、关联资源以及日志等信息,确保各项操作都能够顺畅并且安全地执行。
185 0
|
2月前
|
存储 监控 测试技术
如何将现有的应用程序迁移到Docker容器中?
如何将现有的应用程序迁移到Docker容器中?
229 57
|
2月前
|
存储 监控 Java
如何对迁移到Docker容器中的应用进行性能优化?
如何对迁移到Docker容器中的应用进行性能优化?
220 58