作为一名开发人员,你可以使用各种各样的工具来帮助您更快地编码、调试和部署,而且每天都会引入更多的工具。但是,当这些工具分散使用时,安装、管理和使用它们就变得复杂和耗时。
今年,Docker在其年度DockerCon大会上推出了Docker Extensions,以帮助开发人员优化其工作流程并简化使用工具的方式。
Docker Extensions允许开发人员在Docker Desktop中构建新功能,扩展其现有功能,并发现和集成其他工具。扩展可以通过Docker Desktop中的Extensions Marketplace安装,开发人员也可以使用Docker Extensions SDK创建适合其自定义工作流的自己的扩展。
在该功能的beta版发布后的三个月内,社区中的合作伙伴、Docker和开发人员找到了整合工具的新方法,并创造了更流畅、更精简的开发人员体验。
让我们仔细看看社区安装的一些最流行的扩展,以及它们如何使你的工作流更高效。
用磁盘使用率回收Docker使用的空间
在使用Docker Desktop一段时间后,你可能已经构建了一些镜像,运行了一些容器并创建了卷来保存应用程序的数据。随着时间的推移,Docker创建的所有这些资源都会占用机器上的磁盘空间,最终可能导致机器耗尽。
在过去,Docker提供命令来帮助检查这些资源使用了多少磁盘空间,并删除它们以回收这些空间。
现在,使用Disk Usage扩展,你无需再运行终端命令即可完成此操作。
从最新版本的Docker Desktop,你可以转到Extensions Marketplace并安装Disk Usage扩展。你可以立即了解Docker资源在计算机上使用了多少磁盘空间,并通过删除特定类型的资源(如停止的容器、悬挂的镜像和未使用的卷)来回收空间。Docker Desktop就够了,不需要终端!
与Tailscale安全共享容器
开发人员构建和封装应用程序,每当我们打算与队友共享新功能或错误修复时,我们都会通过CI/CD将更改部署到服务器上。
这个内部循环周期(开发、测试和部署)需要时间。理想情况下,你希望从队友那里获得即时反馈。那么,你的队友如何快速检查Docker Desktop上作为容器运行的应用程序呢?或者,你如何测试在队友的Docker Desktop上运行的API?
Tailscale扩展允许你在Docker Desktop上完成这项工作。Tailscale私下几乎立即共享你的容器,而无需进行任何网络设置。它检测所有暴露端口的容器,并使其可供你的私人Tailscale网络中的人员使用。属于你的Tailscale网络的任何人都可以看到你的容器。
这使得协作变得更加容易和安全,比如在代码评审过程中与同事共享工作的阶段性副本,与团队成员共享web应用程序的进度反馈,或者让团队成员连接到本地机器上运行的微服务。
使用日志资源管理器浏览和筛选多个容器中的日志
当对由多个容器组成的应用进行故障排除时,你可能会发现很难跟踪每个容器输出的所有日志。例如,如果你使用Docker Compose启动ELK(ElasticSearch、Logstash和Kibana)应用程序,如何按容器对这些日志进行分组,以便以有组织的方式查看它们?
Logs Explorer扩展提供了一个可以同时浏览正在运行和停止的容器中的日志、使用正则表达式对其进行过滤以及使用粘性搜索过滤器的地方。
这种集中查看日志的方式消除了对笨拙文本编辑器的需要,并简化了收集数据的方式。
使用Slim.Ai查看容器内部
在使用新镜像构建服务时,你可能需要知道镜像上显示了哪些端口、根用户是谁或哪些文件具有特殊权限。或者,你可能想比较两个镜像的细节,看看哪一张更适合。然而,这些数据和比较它们的方法并不总是现成的。
这会随着Slim.AI扩展的出现而改变,它使你能够深入了解本地镜像的组成,如文件系统、元数据、图层信息等。这有助于识别容器中的实用程序(例如,curl),并探索其中包含的任何基于文本的文件(如配置、shell脚本、REASME)。
Slim.AI还为镜像数据提供分析工具,如优化机会,包括删除和重复文件的计数以及任意两个本地镜像和镜像标签的并排比较。
这一洞察通常是评估基础镜像以构建服务、在发生意外行为时在本地调试容器以及将软件供应链攻击风险降至最低的关键。
在Docker Desktop中查找更多扩展
这只是Docker Extensions可以做的的一小部分。通过这个精心策划的Docker Extensions列表或通过查看Docker Desktop中的Extensions Marketplace,你可以体验到它能做什么。
原文链接:
https://thenewstack.io/4-ways-to-optimize-your-workflows-with-docker-extensions/