简体中文 | 繁體中文 | English |
Dockhand,一站式管理 Docker,告别 Portainer+Watchtower 的碎片化

Dockhand,一站式管理 Docker,告别 Portainer+Watchtower 的碎片化

xiaopao
2026-06-29 / 0 评论 / 1 阅读 / 正在检测是否收录... ===> PDD优惠福利券,千万好物,不要错过 <===

Dockhand 能帮你一次性搞定本地+远程 Docker 以及自动更新、文件浏览,省去去找 Portainer + Watchtower 组合的麻烦。

在 NAS 或小型服务器上,很多人已经装了 Portainer,却发现它的免费版功能被割裂;又要用 Watchtower 才能自动拉镜像更新;甚至要额外装文件浏览器才能在容器里挑文件。于是出现了‘我到底该装哪几个工具?’的尴尬。

大多数开发者的误区是‘只要有 UI 就行’,结果 UI 里功能碎片化,切换页面、复制日志、手动更新镜像都要跑几次鼠标。实际上,一个完整的管理平台应该把容器操作、Compose 编辑、GitOps、日志、文件、跨机器统一视图都集中在同一个页面。

Dockhand 的核心本质——一站式 Docker “操作系统”。

  • 多环境统一管理:本机挂载 /var/run/docker.sock,或通过 TLS、Hawser 代理直接连到远程主机。无论是家里 Synology、TrueNAS 还是云端 VPS,都能在同一个仪表盘切换。
  • Git‑Driven Stack 部署:直接填入 Git 仓库地址,开启 webhook,代码一推,Dockhand 自动拉仓、执行 docker‑compose up -d,实现“提交即部署”。
  • 全局环境变量 + 自动卷浏览:在 Settings 里设一次,所有 Stack 都能引用 ${GLOBAL_TZ};点一下卷图标,Dockhand 会临时启动 busybox 容器挂载卷,让你在浏览器里随意查看、下载、上传文件。
  • 实时日志 & 交互终端:日志面板侧边栏常驻,支持搜索、字体调节、批量下载;终端直接弹窗,无需 SSH。
  • 安全 & 合规:内置 Grype/Trivy 漏洞扫描、OIDC/SSO、双因素;商业版提供 LDAP、RBAC、审计日志。免费版在 2029 年会自动转 Apache 2.0,长期自由使用。

在三台机器上跑了 Dockhand 两周的踩坑记录

  • 挂载 Docker socket 必须使用只读模式,否则容器里 docker 命令会误删宿主机镜像。docker run -v /var/run/docker.sock:/var/run/docker.sock:ro 更安全。
  • Hawser 代理首选 Standard 模式:把 NAS 放在 192.168.1.50,云端 VPS 放在外网,Standard 能让 Dockhand 主动发起 TLS 连接,避免在防火墙上打开 2376 端口。
  • 首次登录一定要立刻创建管理员账号并打开『Require login』。否则任何能访问 3000 端口的人都能直接操作容器,安全隐患极大。
  • 卷浏览第一次慢是因为要拉 busybox 镜像,等一次后会缓存,本地 ARM 主机会自动拉 arm64 版,后续毫秒级。
  • 自动更新功能要配合 Scanner 的阈值:把「高危 CVE」阈值设为 7,系统会在拉新镜像后先跑扫描,若发现高危漏洞则回滚,防止生产环境被破坏。

对标 Portainer、Yacht、Komodo:功能对比表

功能DockhandPortainer CEYachtKomodo
容器/网络/卷管理完整完整完整完整
多环境(远程 API / Hawser)内建内建不支持内建(Periphery agent)
可视化 Compose 编辑拓扑图 + YAML文字编辑器文字编辑器文字编辑器
GitOps + Webhook免费部分免费
全局环境变量
卷文件浏览有(busybox)
统一日志侧边栏部分
漏洞扫描免费付费付费
RBAC / LDAP企业版企业版部分

从上表可以看到,Dockhand 把 Portainer BE 那些付费功能搬到了免费版,实现了“一站式”体验。

适合人群与不适合人群

  • 适合:自建 NAS、家庭实验室、需要管理 10‑50 台容器的中小团队、想用 GitOps 但不想布置 K8s。
  • 不适合:必须中文 UI 的团队(截止 2026 仍无官方中文)、需要 SaaS 商业化托管(BSL 限制)、已经在 K8s 上投入大量资源的企业。

快速上手指南(docker‑run 版)

mkdir -p /opt/dockhand/data && cd /opt/dockhand
docker run -d \
  --restart unless-stopped \
  --name dockhand \
  -p 3424:3000 \
  -v /var/run/docker.sock:/var/run/docker.sock:ro \
  -v $(pwd)/data:/app/data \
  fnsys/dockhand:latest

随后打开 http://你的IP:3424,依照向导创建管理员账号,点「Environments」添加本机或远程主机,即可看到所有容器实时状态。

如果想走 docker‑compose,只需要把上面的 docker run 命令写进 docker-compose.yml,保持 volumesports 配置不变。

进阶玩儿法

想让所有 Stack 共享相同的时区、代理地址?在 Settings → Global Env 里统一设置,然后在 compose 中使用 ${GLOBAL_TZ},一次改动全体生效。

对安全要求更高的团队可以在 Settings → Authentication → SSO / OIDC 接入 Authelia、Keycloak 等,配合 2FA,实现企业级单点登录。

结语

如果你已经厌倦了在多个面板里切换、手动拉镜像、再去 SSH 浏览卷,那就把 Dockhand 拉进来试一试。把你的痛点、踩过的坑或者成功案例留言在下方,让大家一起讨论、互相成长吧!

项目地址:https://github.com/Finsys/dockhand

0

评论 (0)

取消