使用这 8 个 CLI 工具可以轻松监控和管理 Docker 容器

Docker 容器在提升开发效率方面发挥着关键作用。 容器化的优势显而易见,包括更顺畅的协作流程、更经济的成本效益、更高的应用程序可移植性以及快速测试和部署的能力。

鉴于容器技术所带来的诸多好处,许多服务都依赖 Docker 容器来运行和维护其应用程序。

随着技术依赖程度的不断加深,Docker 容器的管理也变得至关重要。

即使您选择了一流的 Docker 托管平台,也需要高效的工具来妥善管理容器。

本文将重点介绍一些简单而有效的命令行界面 (CLI) 工具,它们能够帮助您监控和管理 Docker 容器。

使用命令行工具维护 Docker 容器

尽管图形用户界面 (GUI) 也很普及,许多管理员仍然更倾向于使用命令行或终端 (CLI)。

那么,为何会出现这种情况呢?

GUI 的设计往往会随着时间推移而变化,其操作方式和选项位置也可能有所调整。

相反,CLI 界面不会发生重大变化,从而避免了用户重新学习操作方法的需要。一旦习惯了 CLI,就不必担心其频繁的更新。

因此,CLI 工具易于上手,并且可以避免不断适应新变化的困扰。

此外,GUI 可能存在一些潜在的错误和问题,从而影响 Docker 容器的管理效率。

相比之下,CLI 工具通常更加稳定,极少出现故障或错误。

值得一提的是,通过命令行工具,您甚至可以使用手机远程管理 Docker 容器。

用于管理 Docker 的命令行工具

使用具有上述优势的 CLI 工具来管理 Docker 容器,可以确保操作的便捷性和安全性。

当然,如果您已经熟悉如何在 Docker 容器中执行命令,那就更好了。

但是,有哪些可选工具值得尝试? 命令行终端工具是否足以满足监控多个容器并帮助管理它们的需求呢?

下面是一些可以考虑的实用工具。

Dockly

如果您需要一个沉浸式的终端界面来管理或监控容器和服务,Dockly 将是一个非常好的选择。

它是一款基于 Node.js 的 CLI 应用程序,可以通过 npm 仓库进行安装。Dockly 使一切操作变得更加简单,您无需离开 CLI 或记住所有 Docker 命令及选项标志。

该工具正在积极维护中,在众多工具中享有很高的知名度。

它可以将所有正在运行的 Docker 容器的日志输出流式传输到日志框中,您可以根据需要轻松地向上/向下滚动。 同时,您还可以快速创建新的 bash 会话。

Dockly 还支持 Docker 集群模式,以便您可以在本地容器和集群模式之间自由切换。

Dive

Dive 是一款功能强大的工具,允许您深入探索 Docker 镜像及其内容。

该工具旨在帮助您分析 Docker 镜像,并为缩小和管理 Docker 镜像大小提供思路。

除了查看图层和内容的功能外,Dive 还提供了有关文件树中文件更改、修改、添加或删除的详细信息。 您可以手动分析镜像,也可以尝试使用它的镜像效率估算功能。

该工具还可以预测您的镜像可能包含多少不必要的空间。

您可以在 CI 管道中运行它,以确保避免额外的资源浪费。 请访问其 GitHub 页面,了解有关安装和使用方法。

ctop

如果您不需要很多复杂的功能,而是专注于服务监控,那么 ctop 是您的理想选择。

它在一个简单的用户界面中提供了多个容器的实时指标,包括 CID、CPU 使用率、内存使用率和网络统计信息等基本信息。

虽然它主要用于简化多个容器的监控,但它也提供了一个容器视图来检查特定容器。

您可以从其 GitHub 页面构建软件包,或者使用第三方维护的预构建二进制文件。

dry

一款用于监控和管理 Docker 容器的终端工具。 dry 是一个简单的应用程序,无需外部库支持。

它还支持 swarm 集群。 因此,您可以查询容器或 swarm 设置的相关信息。

此外,dry 还支持许多您可以在 dry 中使用的 Docker CLI 命令(具有相同的功能),以提高操作便捷性。

这意味着您无需退出 CLI 界面,大部分时间都可以使用此工具完成操作。

lazydocker

lazydocker 是一款顶级工具,它在一个用户界面中提供了您可能需要为 Docker 容器执行的所有功能。

您无需记住各种 Docker 命令即可执行不同的操作。

您可以查看 Docker 容器或环境的状态,并快速访问日志。 基本上,您可以查看附加到容器/服务的任何内容,包括 ASCII 图形、镜像层等等。

它还支持鼠标操作。因此,您可以通过单击/按下快速完成工作,从而进一步提高操作便捷性。

如果您认为它缺少某些操作? 不用担心; 您可以在工具中添加自定义命令,以提高效率。

poco

poco 不像此列表中提到的其他工具那样受欢迎。 但是,它有助于使用 CLI 完成特定任务。

使用 Poco,您还可以组织和管理 Docker/Docker-compose 和 Kubernetes 项目。

无论项目有多复杂,它都使用简单的 YAML 配置文件来帮助您在本地环境中找到项目或初始化项目。

许多开发人员往往忙于创建和管理容器,而忽略了组织和保持可访问性。

有了 Poco,您无需自己费力组织事物,只需使用简单的配置文件即可。 此外,它还支持使用 Git 和 SVN 进行版本控制,从而进一步提高效率。

sen

如果您需要一个功能丰富且用户界面友好的工具来管理 Docker 容器,那么 sen 可能是一个不错的选择。

Sen 可以帮助您以交互方式管理容器和镜像。 您还可以执行启动、停止、重启、终止或删除服务或容器等基本操作。

仪表板视图将以有序的方式显示所有容器和镜像。 从日志到实时更新,您可以通过这款看起来简单的工具获得诸多功能。

不幸的是,Sen 不像其他 CLI 工具那样进行积极维护。 但是,它会收到错误修复。 如果您不需要额外的花哨功能,可以使用此工具。

skopeo

skopeo 与其他一些工具不同,它专注于容器镜像及其存储库的操作。 它虽然不能帮助您监控/管理 Docker 容器内的服务,但允许您管理镜像。

其中一些功能包括从/向存储注册表复制镜像、检查远程镜像以分析属性和图层而无需拉取镜像、删除镜像等等。

Skopeo 命令的大部分功能不需要 root 权限。 此外,它不需要守护进程即可工作。 您可以使用此工具管理开放容器 (OCI) 镜像或首选的 Docker v2 镜像。

总结:用于提升 Docker 管理效率的 CLI 工具

大多数高级用户习惯于依赖 CLI 工具来完成工作,Docker 容器管理也不例外。

无论您是需要监控系统、管理服务、组织镜像,还是需要其他功能来有效管理 Docker 部署,命令行工具都可以提供帮助。

即使您是初学者,习惯使用 Docker 的 CLI 工具也可以为您提供极大的灵活性和控制力。

虽然市面上有许多类型的 CLI 工具,但您可以从上述工具中获得良好的开端。

接下来,您可以深入了解 Docker 架构。