暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

LazyDocker:基于终端UI管理Docker

各种折腾 2022-02-02
1488

什么是 LazyDocker ?

LazyDocker
是适用于 Docker
Docker Compose
的新的免费开源的终端 UI
,用于显示 Docker
Docker-compose
容器的状态,日志以及重新启动/删除/重建容器等,采用 Go
语言编写,使用了 gocui
库。

Linux
服务器上管理 Docker
容器时,通常有两种选择:安装或部署基于 Web
GUI
或从命令行管理容器,而 LazyDocker
介于两者之间,采用了基于 terminal
的 简单 UI

安装

与容器相关的应用,都需要绑定挂载 /var/run/docker.sock
,包括我们之前安装的 portainer
watchtower
Glances
Netdata
等。

什么是 /var/run/docker.sock
?

/var/run/docker.sock
Docker API
的主要入口,简单地说,它是 Docker
守护进程(Docker daemon
)默认监听的 Unix
域套接字(Unix domain socket
),容器中的进程可以通过它与 Docker
守护进程进行通信。

title

图片来自:https://betterprogramming.pub/about-var-run-docker-sock-3bfd276e12fd

但是群晖的 Docker
管理器并不支持挂载 /var/run/docker.sock
文件,所以这次我们需用命令行来安装

命令行安装还是比较简单的,用 SSH
客户端连上群晖,执行下面👇的命令

老苏常用的SSH
客户端主要是 Finalshell
PuTTY

# 在 docker 中新建目录 lazydocker
mkdir -p /volume2/docker/lazydocker

# 进入 lazydocker
cd /volume2/docker/lazydocker

# 启动容器
docker run --rm -it \
--name lazydocker \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /volume2/docker/lazydocker:/.config/jesseduffield/lazydocker \
lazyteam/lazydocker

也可以直接进 终端机
使用

使用

键盘和鼠标都支持 LazyDocker
界面上的导航操作

其中每个命令都有一个预定义的键,用于快速执行常用操作。官网提供了一个多语言的键值说明,不过没有中文,只能凑合着看看英文的:https://github.com/jesseduffield/lazydocker/blob/master/docs/keybindings/Keybindings_en.md

可一键实现:

  • 查看 Docker
    Docker-Compose
    容器环境的状态;
  • 查看容器/服务日志;
  • 查看容器 ASCII
    图;
  • 定制图表以查看更详细的信息;
  • 绑定容器/服务;
  • 重启/移除/重建容器或服务;
  • 查看给定镜像的父层;
  • 修改占用磁盘空间的容器、镜像或卷;

自定义设置

lazydocker
中有个 config.yml
文件,但是现在打开只有一行

reporting: "on"

在块 commandTemplates
customCommands
配置中可以修改命令,也可以补充您自己的命令。在 ➡️  https://github.com/jesseduffield/lazydocker/blob/master/docs/Config.md 有详细的说明。

不过老苏改了半天并没发现有什么明显的变化,可能是因为本身就是 Default
,也没有再继续深入研究下去😅

小结

命令行管理容器,需要记命令,LazyDocker
将其简化为了快捷键,所以难度上比命令行方式简单得多。

但是相比基于 Web
GUI
界面,显然易用性还是有差距的,但胜在灵活。

老苏个人觉得如果在 linux
上,LazyDocker
可能是一个不错的选择,但是在群晖上似乎没什么必要。

另外也不建议用 Docker
方式安装 LazyDocker
,会看不到日志或 CPU
使用率,这是一个已知的 Bug

参考文档

jesseduffield/lazydocker: The lazier way to manage everything docker
地址:https://github.com/jesseduffield/lazydocker

A Look at Lazydocker, a Cursor-Based Docker Management Tool – The New Stack
地址:https://thenewstack.io/a-look-at-lazydocker-a-cursor-based-docker-management-tool/

文章转载自各种折腾,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论