ducker:882⭐的 Docker TUI 工具,k9s 风格的容器管理体验
如果你用过 k9s 管理 Kubernetes,一定会怀念那种全键盘驱动、信息密度极高的终端操作体验。ducker 把这个理念带到了 Docker 世界——一个为终端爱好者打造的容器管理 TUI 工具。
项目概览
| 属性 | 内容 |
|---|---|
| GitHub | robertpsoane/ducker |
| Stars | 882 |
| 语言 | Rust |
| 特点 | k9s 风格、键盘驱动、实时刷新 |
| 许可证 | MIT |
| 最后更新 | 2025年4月25日 |
它解决了什么问题
Docker 的官方 CLI 功能完整,但在日常管理场景里有些笨拙:
docker ps看一眼容器状态,然后docker logs <id>看日志,再docker exec -it <id> sh进去调试——命令切来切去- Docker Desktop 图形界面够直观,但终端和 GUI 之间来回切换打断心流
- Portainer 功能强大,但本地开发环境为了管理几个容器就起一个 Web 服务,有点小题大做
ducker 的定位很明确:在终端里完成 90% 的日常容器管理工作,不用记复杂的命令组合,也不需要离开当前的终端上下文。
核心特性
⌨️ 全键盘操作
ducker 继承了 k9s 的交互范式,所有操作都有对应的快捷键:
| 快捷键 | 功能 |
|---|---|
? | 显示帮助 |
l | 查看容器日志 |
e | 进入容器 shell |
r | 重启容器 |
d | 删除容器 |
s | 停止容器 |
/ | 搜索过滤 |
q / Ctrl+c | 退出 |
这种设计让熟练用户几乎不用动鼠标,眼不离屏就能完成容器管理。
📊 信息密度
一屏之内你能看到:
- 所有容器的运行状态、端口映射、镜像版本
- 实时更新的资源占用(CPU / 内存)
- 最近的事件日志流
对于需要同时关注多个容器的场景(比如本地微服务开发),这种全景视图比命令行逐个查询高效得多。
🚀 快速跳转
找到目标容器通常只需要几下按键:
- 输入
/激活搜索 - 输入容器名的任意部分(模糊匹配)
- 回车选中,直接执行操作
不用复制粘贴容器 ID,也不用祈祷自动补全能认出你的命名规律。
快速开始
安装
# 使用 cargo
cargo install ducker
# 或从源码构建
git clone https://github.com/robertpsoane/ducker.git
cd ducker
cargo build --release
使用
# 启动 ducker
ducker
# 如果 Docker 需要 sudo 权限
ducker --sudo
同类工具对比
| 工具 | Stars | 类型 | 特点 | 适用场景 |
|---|---|---|---|---|
| Portainer | 32k+ | Web UI | 功能全面,支持集群 | 生产环境、团队协作 |
| Lazydocker | 39k+ | TUI | 轻量,交互友好 | 个人开发、快速查看 |
| ducker | 882 | TUI | k9s 风格,键盘优先 | 终端重度用户 |
Portainer 太重,Lazydocker 虽好但交互风格偏「探索式」,ducker 则是为那些已经熟悉 k9s、想要一致操作体验的开发者准备的。
适合谁用
ducker 很适合:
- 每天泡在终端里的开发者
- 习惯了 k9s 的键盘操作,希望 Docker 管理有类似体验
- 本地开发时需要频繁查看日志、进入容器调试
- 不喜欢 Docker Desktop 的资源占用和上下文切换
ducker 不适合:
- 需要可视化编排、网络拓扑图等高级功能
- 团队协作场景下的权限管理
- 完全不熟悉终端快捷键的用户
总结
ducker 代表了一种特定偏好的工作流选择:在终端里完成所有事,并且用最高效的方式完成。882 个 stars 说明它还不是大众工具,但对于目标用户群体来说,它填补了 Lazydocker 和「纯 CLI 命令」之间的空白。
如果你每天与 Docker 打交道,又恰好是 k9s 用户,ducker 值得花两分钟试试。它可能不会取代你所有的 Docker 管理工具,但在本地开发的日常场景里,它能让容器操作快很多。
| 属性 | 内容 |
|---|---|
| 仓库 | https://github.com/robertpsoane/ducker |
| 许可证 | MIT |
| 语言 | Rust |
| 维护者 | @robertpsoane |