Lazydocker-直接在终端中使用Docker的GUI



两年前,我们已经用于Docker的GUI界面进行回顾,但是对此类解决方案的热爱者并不止步。 几天前 ,对0.2版进行了更新,与此同时,这个年轻的项目lazydocker被广泛宣传,将自己定位为“一种更懒惰的方式来管理Docker中的所有内容”。 该实用程序正在迅速普及-直到昨天,它的GitHub明星数量还没有达到3000,今天已经超过4000。

可能性


lazydocker的作者以这种方式解释了他们的想法:

“记住docker命令很难。 记住别名要困难一些。 通过终端的多个窗口几乎不可能监视集装箱的状况。 但是,如果所有必需的信息都在一个窗口中,并且每个典型命令都可以通过按一个键来访问(并且可以添加自己的命令)怎么办? Lazydocker的目标是使这个梦想成为现实。”

因此,lazydocker使终端成为Docker和Docker Compose的交互式界面,使您可以快速方便地在不同容器中运行的服务和相关资源(图像,卷)之间切换,查看其状态并执行各种命令。 由于“有时最好看一次”,因此作者考虑了一个非常自给自足的gif插图:



键盘和鼠标均支持界面导航。 选择所需的项目后,将为其提供上下文菜单:


所选容器的示例上下文菜单

如您所见,每个命令还具有预定义的键,用于快速执行常用操作。 在这里可以看到它们的完整列表(顺便说一句,菜单具有几种语言的本地化版本,其中仍然没有俄语)。

需要特别注意的是查看容器状态:这里不仅是日志和配置的输出,而且还以图形方式显示统计信息(默认情况下,这是CPU /内存消耗)和顶级进程。 这些功能扩展到任意指标,以图形方式查看还配置了哪些图形(请参阅config中stats部分)。

对于选定的图像,您可以查看Dockerfile中运行时执行的命令(继承的层)。 提供未使用的容器,图像,卷( prune )的清洁。

可用的命令可以修改,也可以自己添加。 如何做到这一点很容易在配置的commandTemplatescustomCommands块中看到(顺便说一下,也可以直接从实用程序本身编辑配置):

 commandTemplates: dockerCompose: docker-compose restartService: '{{ .DockerCompose }} restart {{ .Service.Name }}' stopService: '{{ .DockerCompose }} stop {{ .Service.Name }}' … customCommands: containers: - name: bash attach: true command: docker exec -it {{ .Container.ID }} /bin/sh serviceNames: [] … 

安装方式


Lazydocker是使用gocui库用Go编写的,该库旨在创建控制台界面。 需要Go版本1.12。 源代码根据免费的BSD 3-条款(新)许可证进行分发。

安装可以归结为一个简单的命令:

 go get github.com/jesseduffield/lazydocker 

其余的则更容易尝试自己看看。

前景展望


到目前为止,懒惰docker的开发主要由一个人进行,但是面对更广泛的社区,“鲜血”带来了它的流行。 例如,现在我们讨论的是在不到一天前通过重新设计的Dockerfile和在Linux发行版中简化安装二进制实用程序版本而启动的PR

在项目问题中,您可以看到改进请求,例如自定义键绑定 docker stack 支持 。 再次,他们出现不到一天前。

所有这些表明,在不久的将来,我们可以期待lazydocker逐渐成熟,成为一个功能更强大,更方便的解决方案,而Docker社区对此已经提出了明确的要求。

聚苯乙烯


另请参阅我们的博客:

Source: https://habr.com/ru/post/zh-CN446700/


All Articles