ctop – 用于监控 Docker 容器的类 top 接口


如果您正在管理多个 Docker 容器,那么跟踪它们的资源利用率、网络连接性和整体健康状况可能会很困难。幸运的是,有一个名为 ctop 的工具可以提供帮助。ctop 是一个类似 top 的界面,用于实时监控 Docker 容器。它提供了一个直观的容器指标可视化表示,包括 CPU、内存、网络和磁盘使用情况。

在这篇博文中,我们将更仔细地了解 ctop、它的功能以及如何有效地使用它。

什么是 ctop?

ctop 是一个命令行工具,它提供了一个类似 top 的界面来监控 Docker 容器。它提供了所有正在运行的容器的概述,显示实时的 CPU 和内存使用情况、容器名称、镜像和 ID。ctop 还允许您根据不同的条件(例如 CPU 使用率或容器名称)对容器列表进行排序和过滤。

安装 ctop

ctop 是一个开源工具,可以安装在 Linux、macOS 和 Windows 上。您可以从 GitHub 存储库下载最新版本的 ctop:https://github.com/bcicen/ctop/releases。

要在 Linux 上安装 ctop,请按照以下步骤操作:

  • 从 GitHub 发布页面下载 Linux 版的 ctop 二进制文件。

$ wget https://github.com/bcicen/ctop/releases/download/v0.7.6/ctop-0.7.6-linux-amd64 -O ctop
  • 使二进制文件可执行。

$ chmod +x ctop
  • 将二进制文件移动到 $PATH 中的位置。

$ sudo mv ctop /usr/local/bin/
  • 通过运行以下命令验证 ctop 是否已正确安装:

$ ctop -v

您应该会看到控制台上打印的 ctop 版本。

使用 ctop

ctop 是一个在您的终端中运行的命令行工具。当您启动 ctop 时,您将看到 Docker 容器及其资源利用率指标的实时视图。您可以根据各种条件(例如 CPU 使用率、内存使用率、网络流量等)对容器进行排序。

以下是用默认设置运行 ctop 的示例:

$ ctop

这将显示 Docker 容器的实时视图,并按其 CPU 使用率排序。您可以使用箭头键在容器之间导航并查看其指标。

要按其他条件对容器进行排序,请按相应的快捷键:

  • m - 按内存使用情况排序

  • n - 按网络流量排序

  • i - 按容器 ID 排序

  • s - 按容器状态排序

  • p - 按容器 PID 排序

  • c - 按容器 CPU 使用情况排序(默认)

您还可以使用过滤器根据某些条件缩小容器列表范围。例如,您可以按名称或标签过滤容器:

$ ctop -f name=web

这将仅显示名称包含“web”的容器。同样,您可以按标签过滤容器:

$ ctop -f label=com.example.app=frontend

这将仅显示标签“com.example.app”值为“frontend”的容器。

ctop 还提供了有关每个容器的详细信息,包括其资源利用率指标、正在运行的进程和环境变量。要查看容器详细信息,请使用箭头键突出显示容器,然后按 Enter 键。

以下是查看容器详细信息的示例:

  • 首先,在您的终端中启动 ctop:

$ ctop
  • ctop 将显示正在运行的 Docker 容器列表及其资源利用率指标。

NAME           CPU%    MEM USAGE / LIMIT     MEM%    NET I/O            BLOCK I/O   PIDS
my-container   1.13%   66.26MiB / 3.697GiB   1.76%   14.57kB / 2.03kB   6.97MB / 16.4MB   1/1
  • 使用箭头键突出显示要检查的容器。

my-container  1/1  2.13%  66.26MiB / 3.697GiB  1.76%  14.57kB / 2.03kB  6.97MB / 16.4MB running
  • 按 Enter 键查看所选容器的详细信息。

Container ID: 28c54bfc07f4
Image: alpine:latest
Command: /bin/sh -c sleep 3600
Status: running for 2 hours
Created: 1 day ago
IP: 172.17.0.3
Networks: bridge

CPU:
  Usage: 0.0%
  System: 33s
  User: 1m50s

Memory:
  Usage: 66.26MiB / 3.697GiB
  Percentage: 1.76%

Network:
  Input: 14.57kB
  Output: 2.03kB

Block IO:
  Input: 6.97MB
  Output: 16.4MB

Processes:
  Running: 1
  Total: 1
  • 使用箭头键浏览详细的容器信息,然后按 Esc 键退出详细视图并返回到主 ctop 界面。

NAME           CPU%    MEM USAGE / LIMIT     MEM%    NET I/O       BLOCK I/O   PIDS
my-container   1.13%   66.26MiB / 3.697GiB   1.76%   14.57kB / 2.03kB   6.97MB / 16.4MB   1/1

自定义 ctop

ctop 提供了多个选项来自定义工具的界面和行为。以下是一些示例:

  • 按资源使用情况排序容器 - 默认情况下,ctop 按名称对容器进行排序。您可以通过按相应的键(例如,按“p”按 CPU 使用情况排序或按“m”按内存使用情况排序)更改排序顺序。

  • 过滤容器 - 您可以通过按“f”并输入过滤条件来按名称或 ID 过滤容器。

  • 更改配色方案 - ctop 提供了多种配色方案,可以通过按“t”进行切换。您还可以通过在 ~/.config/ctop/colors.toml 中创建配置文件来自定义配色方案。

  • 设置资源限制 - 您可以通过按“l”并输入限制值来为 CPU、内存和块 I/O 设置资源限制。

要查看完整选项和按键绑定列表,请按“?”。

需要考虑的 ctop 高级功能

虽然 ctop 是一个简单易用的工具,但它也提供了一些高级功能,可以帮助您更好地监控容器。

  • 排序和过滤ctop 允许您根据不同的条件(例如 CPU 使用率或容器名称)对容器列表进行排序和过滤。这可以帮助您快速识别使用最多资源的容器或遇到问题的容器。您可以通过按相应的键('c' 表示 CPU 使用率,'m' 表示内存使用率等)对容器列表进行排序,或通过按 '/' 键后跟容器名称按容器名称进行过滤。

  • 自定义界面ctop 允许您通过选择要显示的列以及如何显示它们来自定义界面。这可以帮助您根据您的特定需求和偏好定制界面。您可以通过按“f”键并选择所需的列来自定义显示的列。

  • 键盘快捷键ctop 支持许多常见任务的键盘快捷键,例如对容器列表进行排序、按名称进行过滤以及查看容器日志。这可以帮助您快速浏览界面并更有效地执行任务。您可以通过按“?”键访问可用的键盘快捷键列表。

总的来说,ctop 是一个强大的工具,可以提供 Docker 容器的实时监控。它简单而功能丰富的界面使其成为任何需要管理和监控容器的人的绝佳选择。

结论

ctop 是一个强大的工具,用于实时监控和管理 Docker 容器。它类似 top 的界面和详细的容器指标使您可以轻松识别和解决容器问题、优化资源利用率并确保 Docker 基础设施的平稳运行。凭借其可自定义的界面以及用于过滤和排序容器的众多选项,ctop 是一款用途广泛的工具,可以根据您的特定需求进行定制。无论您是 Docker 高级用户还是刚开始使用容器化,ctop 都是您工具箱中必不可少的工具。

更新时间: 2023年6月23日

浏览量:706

开启您的职业生涯

通过完成课程获得认证

立即开始
广告