
Lazydocker 是一个用于管理 Docker 环境的开源终端界面。它为您提供了一个强大的控制界面,用于与容器、图像和卷进行交互。Lazydocker 可以快速轻松地检查 Docker 对象,而无需重复冗长的终端命令。
标准的 Docker CLI 不是为始终在线监控或快速调查问题而设计的。发现服务的问题通常需要至少三个命令——首先使用 列出您的容器docker ps,然后与潜在的罪魁祸首 ( docker restart ) 进行交互,最后通过重复检查更改是否有效docker ps。Lazydocker 允许您在持续监控日志和活动的同时从单个屏幕执行此序列。
Lazydocker 将dockerCLI 的大部分功能包装到自动更新的终端 UI (TUI) 中。您可以在一个终端窗口中监控 Docker 主机上运行的所有容器和服务。它包括实时资源使用图、图像层检查工具以及用于停止、重新启动和修剪对象的快速操作。
Lazydocker 通过几个不同的渠道可用于 Linux、macOS 和 Windows。它存在于 Homebrew 和 Chocolatey 包管理器中,或者可以直接从项目的GitHub 发布页面下载。
官方安装脚本是在 Linux 系统上入门的最简单方法。这将为您的平台下载正确的二进制文件并将其存放到您的$HOME/.local/bin目录中。
$ curl https://raw.githubusercontent.com/jesseduffield/lazydocker/master/scripts/install_update_linux.sh | bash
运行lazydocker --version以检查您的安装是否正常工作:
$ lazydocker --version
Version: 0.18.1
Date: 2022-05-11T12:14:33Z
BuildSource: binaryRelease
Commit: da650f4384219e13e0dad3de266501aa0b06859c
OS: linux
Arch: amd64
运行lazydocker不带任何参数的命令以启动 Lazydocker TUI。

屏幕分为两个水平窗格。左侧允许您在不同的 Docker 对象之间切换,例如容器、图像和卷。右窗格用于监视当前选定的对象并与之交互。
活动对象以较亮的文本突出显示。使用向上/向下箭头键在焦点窗格中的项目之间移动。右/左箭头键在不同窗格之间移动焦点。例如,如果您在“容器”窗格中,按右箭头键会将您移动到下面的“图像”窗格。按 Enter 始终聚焦右窗格。您还可以通过在兼容的外壳中用鼠标单击它们来在窗格和对象之间移动。
当你使用 Lazydocker 时,帮助总是可用的;按下该x键将显示键盘快捷键参考。
Containers 窗格是您通常花费大部分时间的地方。默认只显示正在运行的容器;按下该e键也将包括已停止和隐藏的键。每个容器在其名称旁边显示其当前的 CPU 消耗。
选择容器默认会在屏幕右侧显示其日志。如果没有显示日志,请不要担心:Lazydocker 仅打印最后一小时内写入的行,以防止过多的资源消耗。
其他信息窗格可从屏幕顶部的选项卡条中获得。单击选项卡或使用[和]键在它们之间移动。
Stats 选项卡提供容器 CPU 和内存消耗的实时图表。向下滚动窗格可提供有关网络入口和出口的更多信息,以及 Docker 守护程序生成的完整统计信息输出。这些指标中的任何一个都可以通过自定义您的 Lazydocker 配置来绘制。
Env 选项卡提供了容器中设置的环境变量的简单键值列表。Config 提供有关容器的详细信息,包括其标签和来自docker inspect. 最后的顶部窗格显示容器内运行的进程。
您可以通过选择容器然后按一个键对容器执行以下操作:
Lazydocker 包含一些同时针对多个容器的批量操作。按b键查看菜单并选择一个选项:

该工具可让您在一次操作中停止和移除多个容器。这可以帮助您在试验不同的容器和图像时快速恢复原状。
Lazydocker 支持使用 Docker 报告的任何指标的任意统计图。向下滚动 Stats 窗格以查看 Docker 守护程序生成的统计数据 JSON。查找要绘制的值并记下它在 JSON 对象结构中的位置,例如ClientStats.networks.eth0.rx_bytes. 该指标记录容器接收到的网络流量。
通过选择 Project 窗格然后按o键打开您的 Lazydocker 配置文件。您也可以直接从文件系统访问该文件——您通常可以在~/.config/lazydocker/config.ymlLinux 上找到它。将以下内容添加到文件中:
stats:
graphs:
- caption: CPU (%)
statPath: DerivedStats.CPUPercentage
color: blue
- caption: Memory (%)
statPath: DerivedStats.MemoryPercentage
color: green
- caption: Network received (%)
statPath: ClientStats.Networks.Eth0.RxBytes
color: yellow
重新启动 Lazydocker,然后前往容器的统计信息。除了默认的内存和 CPU 消耗指标之外,您现在应该会看到传入网络带宽的图表。注意statPath配置文件中的字段需要转换为一致的驼峰大小写,如上所示。

图像部分显示有关您选择的每个图像的信息。右窗格提供图像名称、ID、标签和大小的概要。然后它会列出其图像中的所有层,包括它们的大小和创建它们的命令。
按d键将显示一个提示,让您删除选定的图像。访问的批量操作菜单b提供了一个选项,用于清理主机上所有未使用的图像。
卷部分具有与图像类似的功能。有关所选卷的信息显示在右侧窗格中,包括其安装点、标签和活动存储驱动程序。按下d可让您删除卷,而批量操作菜单b提供删除所有未使用卷的选项。
Lazydocker 对 Docker Compose 项目有很好的集成支持。从包含docker-compose.yml文件的目录启动 Lazydocker 将显示一个更改版本的界面,它将您的容器分组到“服务”和“独立容器”窗格中。服务显示您的 Docker Compose 配置定义的容器;独立容器代表在您的主机上运行的所有其他容器。
Compose UI 布局还在屏幕左上角的 Project 窗格中启用了额外的功能。将焦点移至此窗格将在右侧显示来自 Compose 堆栈中所有服务的组合日志。另一个选项卡“Docker-Compose Config”显示docker-compose.yml文件的内容。
Lazydocker 是 Docker 高级用户的多功能工具。它在单个终端窗口中提供容器环境的集中视图。
大多数 Docker UI 都是基于 Web 或桌面的,而 Lazydocker 坚持简单的终端体验。这对于喜欢 CLI 风格但又不想记住和重复手动输入命令的人来说是一个很好的选择。Lazydocker 是在您的主机上运行的独立二进制文件,因此很容易部署和设置。它还避免了使用 Web 应用程序与 Docker 交互的安全问题。