什么是 Oxker ?
Oxker
是一个基于文本的用户界面,用于查看Docker
容器的信息和统计数据。一目了然,Oxker
提供了容器列表、其当前状态、对系统资源(CPU
、内存)的影响、容器ID
、镜像名称、大小等。该应用程序还提供用于导航各种面板和执行基本命令(暂停、重新启动、停止、删除)的控件。
什么是 TUI ?
TUI
是指文本用户界面(Text-based User Interface
),通过文本实现交互窗口展示内容,定位光标和鼠标实现用户交互。
Oxker
和老苏之前介绍的 LazyDocker
属于同一类工具
文章传送门:LazyDocker:基于终端UI管理Docker
安装
在群晖上以 Docker 方式安装。
容器下载
在注册表中搜索 oxker
,选择第一个 mrjackwills/oxker
,版本选择 latest
。
本文写作时,
latest
版本对应为0.3.2
;
也可以用命令行下载
下载容器
docker pull mrjackwills/oxker:latest
如果下不动,可以试试通过 dockerproxy
下载,会多出两步
# 代理拉取镜像
docker pull dockerproxy.com/mrjackwills/oxker:latest
# 重命名镜像
docker tag dockerproxy.com/mrjackwills/oxker:latest mrjackwills/oxker:latest
# 删除代理镜像
docker rmi dockerproxy.com/mrjackwills/oxker:latest
在 映像
中能看到下载的镜像,因为是采用 Rust
开发的,所以文件非常小
命令行运行
什么是 /var/run/docker.sock
?
/var/run/docker.sock
是Docker API
的主要入口,简单地说,它是Docker
守护进程(Docker daemon
)默认监听的Unix
域套接字(Unix domain socket
),容器中的进程可以通过它与Docker
守护进程进行通信。
图片来自:https://betterprogramming.pub/about-var-run-docker-sock-3bfd276e12fd
但是群晖的 Docker
管理器并不支持挂载 /var/run/docker.sock
文件,所以这次我们需用命令行来安装
命令行安装还是比较简单的,用 SSH
客户端连上群晖,执行下面👇的命令
老苏常用的
SSH
客户端主要是Finalshell
# 运行容器
docker run -it \
--rm \
--name oxker \
--pull=always \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
mrjackwills/oxker
其中:
- -i :以交互模式运行容器,通常与
-t
同时使用; - -t :为容器重新分配一个伪输入终端,通常与
-i
同时使用; - –rm :在容器退出时就能够自动清理容器内部的文件系统,
--rm
选项不能与-d
同时使用; - –pull=always :始终尝试拉取映像,即使映像存在于本地。如果拉取失败,则会产生错误;
--pull | 描述 |
---|---|
(没有设置) | (默认)如果本地不存在则拉取镜像 |
--pull=missing | 和上面默认的一样 |
--pull=never | 不拉取镜像,但如果镜像不存在则产生错误 |
--pull=always | 始终尝试拉取映像,即使映像存在于本地: 如果拉取失败,则会产生错误 |
回车之后,就能看到 TUI
界面了
按 h
键显示帮助
按键不多,使用还是很简单的
button | result |
---|---|
( tab ) or ( shift+tab ) | 切换面板,单击面板也会更改所选面板 |
( ↑ ↓ ) or ( j k ) or ( PgUp PgDown ) or ( Home End ) | 更改选定面板中的选定行,鼠标滚动也会更改选定行 |
( enter ) | 执行选定的 docker 命令 |
( 1-9 ) | 按标题对容器进行排序,单击标题也会对所选列进行排序 |
( 0 ) | 停止排序 |
( h ) | 切换帮助菜单 |
( m ) | 切换鼠标捕获 - 如果禁用,则可以选择屏幕上的文本 |
( q ) | 退出 |
参考文档
mrjackwills/oxker: A simple tui to view & control docker containers
地址:https://github.com/mrjackwills/oxker