#docker #container #stats #monitoring #terminal

app docker-stats

在您的终端中直接使用漂亮的实时图表可视化容器统计信息

2 个版本

0.1.1 2024年3月1日
0.1.0 2024年3月1日

#728 in 命令行实用程序

Apache-2.0

160KB
258

📊 ds - 带终端图表的实时统计

在您的终端中直接使用漂亮的实时图表可视化容器统计信息。

demo

[!IMPORTANT] 这是一个 WIP,main 应该是稳定的,但请注意,这正在不断变化。谢谢! :)

为什么 ds

  • 缺少图表:在尝试使用 OrbStack(一个轻量级的 Docker 容器管理工具)时,我发现它缺少 Docker Desktop 提供的图表。这个项目旨在填补这一空白。
  • 可视化分析:实时可视化系统统计信息可以帮助发现文本输出中可能被忽略的问题。《ds》为您带来了颜色和动态图表,以进行系统分析。
  • Rust-Powered 😶‍🌫️:此项目是用 Rust 编写的,利用其性能和可靠性。

安装

[!NOTE] 您可以在 crates.io 上找到此工具的“beta”版本。您可以使用以下命令安装它:cargo install ds

源代码

确保您已安装 Cargo。然后,克隆此存储库

git clone https://github.com/rafaelrcamargo/ds

开发

然后只需进入该目录并运行

cargo run -- <ARGS> # For development

发布

在项目目录中,运行

cargo run --release -- <ARGS> # For production

然后将此命令添加到您的 $PATH 中,您就可以运行

# May require sudo
mv target/release/ds /usr/local/bin

用法

要使用默认设置,只需运行

ds

这与 docker stats 类似。

对于更多选项,您可以运行

ds -h

示例 & 用例

一些您可以使用此工具的示例。

所有容器的紧凑视图

以节省空间的格式查看所有容器的简要概述

ds -c

某些容器的完整视图

要查看特定容器的详细统计信息,包括 NET 和 IO 图表

ds -f 5f03524a8fbe api-1

路线图

痛点

一些不好,但预料到的事情。

启动缓慢

我知道……启动确实很慢,但仅此而已。这就是docker stats运行所需的时间,它必须连接到容器并获取实时统计信息。至于今天,我已经使用OrbStack和Docker Desktop进行了测试,延迟似乎是一样的,但我会继续调查。

网络模式:主机

从GIF中您还可以注意到,NET图表没有移动,但这在这里是预期的。这些容器正在以network_mode: host运行,并且只有在您使用bridge网络时,NET图表才会被填充。

PS:如果您使用Mac并认为我上面的network_mode: host完全疯了,我知道。这是Docker Desktop for Mac的热门话题,但尚未得到支持。您可以在这里查看讨论这里。这也是我开始研究OrbStack的主要原因。

许可证

该项目采用Apache License 2.0许可。

依赖项

~3–16MB
~162K SLoC