
两年前,我们已经
对用于Docker的GUI界面进行
了回顾,但是对此类解决方案的热爱者并不止步。
几天前 ,对0.2版进行了更新,与此同时,这个年轻的项目
lazydocker被广泛宣传,将自己定位为“一种更懒惰的方式来管理Docker中的所有内容”。 该实用程序正在迅速普及-直到昨天,它的GitHub明星数量还没有达到3000,今天已经超过4000。
可能性
lazydocker的作者以这种方式解释了他们的想法:
“记住docker
命令很难。 记住别名要困难一些。 通过终端的多个窗口几乎不可能监视集装箱的状况。 但是,如果所有必需的信息都在一个窗口中,并且每个典型命令都可以通过按一个键来访问(并且可以添加自己的命令)怎么办? Lazydocker的目标是使这个梦想成为现实。”
因此,lazydocker使终端成为Docker和Docker Compose的交互式界面,使您可以快速方便地在不同容器中运行的服务和相关资源(图像,卷)之间切换,查看其状态并执行各种命令。 由于“有时最好看一次”,因此作者考虑了一个非常自给自足的gif插图:

键盘和鼠标均支持界面导航。 选择所需的项目后,将为其提供上下文菜单:
所选容器的示例上下文菜单如您所见,每个命令还具有预定义的键,用于快速执行常用操作。
在这里可以看到它们的完整列表(顺便说一句,菜单具有几种语言的
本地化版本,其中仍然没有俄语)。
需要特别注意的是查看容器状态:这里不仅是日志和配置的输出,而且还以图形方式显示统计信息(默认情况下,这是CPU /内存消耗)和顶级进程。 这些功能扩展到任意指标,以图形方式查看还配置了哪些图形(请参阅
config中的
stats
部分)。
对于选定的图像,您可以查看
Dockerfile
中运行时执行的命令(继承的层)。 提供未使用的容器,图像,卷(
prune
)的清洁。
可用的命令可以修改,也可以自己添加。 如何做到这一点很容易在配置的
commandTemplates
和
customCommands
块中看到(顺便说一下,也可以直接从实用程序本身编辑配置):
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社区对此已经提出了明确的要求。
聚苯乙烯
另请参阅我们的博客: