如果你玩 NAS 超过两年,你的 Docker 管理工具大概率是 Portainer。界面够用、Compose 能写、教程遍地都是——但这两年情况变了。Portainer CE 的更新越来越慢,好用功能一个接一个被划进付费的 Business Edition:RBAC、Webhook 自动部署、漏洞扫描……虽然个人用户 5 节点以下 BE 还是免费,但那种「免费版被故意阉割」的感觉,让很多人开始找替代品。
今年冒出来的 Dockhand(GitHub: Finsys/dockhand)可能是目前最接近「完美替代」的选择。它在 NAS 圈和 Reddit 上讨论度很高,最新版 v1.0.34 发布于 6 月 17 日,更新节奏相当勤快。

Dockhand 是什么
一句话:一个现代化的 Docker 管理 Web UI,用一套面板管本机和远程的所有 Docker 环境。
几个基本事实先摆出来:
- 技术栈:前端 SvelteKit 2 + Svelte 5 + TailwindCSS,后端 Bun runtime,数据库默认 SQLite(可选 PostgreSQL)
- 基础镜像:自己用 Wolfi 包从零构建,不是 Alpine/Ubuntu 改改就上——这点对安全有点追求的人会比较放心
- 授权:BSL 1.1(Business Source License),个人和内部使用免费,不可作为商业 SaaS 对外提供;2029 年自动转为 Apache 2.0
- 企业版:$499/主机/年的 SMB 版加 LDAP/AD、RBAC;$1499/主机/年的 Enterprise 版加合规审计日志
- 资源占用:约 200MB 内存,树莓派 4 能跑
Dockhand 不是要做一个「比 Portainer 便宜」的平替,而是直接在产品层面把 Portainer BE 的很多功能做进了免费版。下面具体聊。
为什么值得换
1. 多环境管理:本机 + 远程一把抓
Portainer 管远程 Docker 要配 Edge Agent,体验一般。Dockhand 原生支持三种连接方式:
- Unix socket:本机挂载
/var/run/docker.sock,最直接 - Docker API over TCP:远程 daemon 走 TCP + TLS
- Hawser Agent:Dockhand 自家的开源 Go 代理(GitHub:
Finsys/hawser),适合 NAT/防火墙后面的主机,出站 WebSocket 连接,不用开入站端口
一个账号下可以加多个 Environment,左上角一键切换,跨环境的日志、更新、扫描全集中显示。对有多台 NAS 或 Homelab 多节点的人来说非常实用。
2. Git 部署 + Webhook:NAS 上的迷你 GitOps
这是让我觉得「终于有人做了」的功能。Dockhand 的 Stack 部署可以直接吃 Git 仓库地址:
- 支持 HTTP(Personal Access Token / 账号密码)和 SSH(deploy key)两种认证
- 配置 Webhook 之后,GitHub/GitLab/Gitea 上推送代码,Dockhand 自动拉取、套用新的 compose.yaml、滚动更新容器
- 本质上是一个迷你版 Argo CD——没有 K8s 那么重,但 GitOps 的核心理念完全到位
如果你已经把 Compose 文件放在 Git 仓库里管理(这本来就是最佳实践),这个功能是刚需。
3. Volume 文件浏览器:点一下就能看卷内容
Docker volume 最大的痛点就是「数据藏起来了,想看很麻烦」。传统做法是 SSH 进去,手动 docker run --rm -v vol:/x busybox ls /x,每次都要敲一串。
Dockhand 的做法很聪明:你在 UI 里点一下 Volume,它会自动拉一个临时 busybox 容器挂上这个卷,让你在浏览器里浏览、下载、上传文件。操作完容器自动删除,不留痕迹。对备份检查、调试配置文件、临时改设置来说,省了无数 SSH 操作。
这个功能目前在其他面板里我没见过,是 Dockhand 独有的亮点。

4. 统一日志和终端:不用切页了
Portainer 看日志要进容器详情页再点 Logs,查多个容器就得反复跳转。Dockhand 把日志和终端做成了侧边栏常驻面板,像 VS Code 的 Terminal 那样:
- 毫秒级切换容器
- 多条日志流同时开着
- 字体大小、滚动、下载、复制都支持
- 终端可以指定 user、预设命令,打开直接用
这个设计细节看似不大,但用惯 IDE 的人会觉得非常顺手。
5. 漏洞扫描 + 安全更新
Dockhand 内置了 Grype 和 Trivy 的漏洞扫描——这两个都是业界常用的容器漏洞扫描工具。在 Settings 里点一下 Pull 就能启用,之后每个镜像都会显示 CVE 结果。
更贴心的是它的「安全拉取」机制:自动更新时,新镜像会先拉到临时 tag 做扫描,扫出问题就删掉临时镜像、不动正在跑的容器,不会因为盲目更新把服务搞挂。
另外 Dockhand 的基础镜像从 Wolfi 包自己构建,不依赖 Alpine——这意味着基础层的 CVE 会少很多。

安装:30 秒搞定
一行命令就能跑起来:
docker run -d
--name dockhand
--restart unless-stopped
-p 3000:3000
-v /var/run/docker.sock:/var/run/docker.sock
-v dockhand_data:/app/data
fnsys/dockhand:latest
然后浏览器打开 http://你的NAS-IP:3000。推荐用 docker-compose,方便管理:
services:
dockhand:
image: fnsys/dockhand:latest
container_name: dockhand
restart: unless-stopped
ports:
- "3000:3000"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- dockhand_data:/app/data
environment:
- TZ=Asia/Shanghai
volumes:
dockhand_data:
镜像支持 amd64 和 arm64 多架构,群晖、飞牛 NAS、极空间、树莓派都能直接用。
初次设置必须注意的安全步骤
装完别急着到处点,Dockhand 默认是「无用户」状态——任何能访问 Web UI 的人都能操作你的 Docker。务必按顺序做这几步:
- 创建管理员账号:Settings → Users → Add user
- 开启登录验证:Settings → Authentication,打开 “Require login”
- 设置时区:Settings → 改成
Asia/Shanghai - 套反向代理:不要直接把 3000 端口暴露到公网,用 Nginx Proxy Manager / Caddy / Cloudflare Tunnel 加一层 HTTPS
- 考虑 socket-proxy:正式机上建议用
tecnativa/docker-socket-proxy代理 Docker socket,限制 Dockhand 能调用的 API 范围
Webhook 的 token 只会显示一次,创建 Stack 拿到 URL 后必须立刻保存,忘了只能砍掉重建。
和 Portainer 比怎么样
| 功能 | Dockhand | Portainer CE | Portainer BE |
|---|---|---|---|
| 容器/映像/网络/卷管理 | ✅ | ✅ | ✅ |
| 多环境管理 | ✅ (API + Hawser) | ✅ | ✅ + Edge |
| Git Stack + Webhook | ✅ | ❌ | ✅ |
| 全域环境变量 | ✅ | ❌ | ✅ |
| Volume 文件浏览器 | ✅ | ❌ | ❌ |
| 统一日志侧边栏 | ✅ | ❌ | ❌ |
| 漏洞扫描 | ✅ (Grype+Trivy) | ❌ | ✅ |
| RBAC / 审计日志 | 企业版 | ❌ | ✅ |
| OIDC / SSO | ✅ | ❌ | ✅ |
| 中文 UI | ❌ | ✅ | ✅ |
| 授权 | BSL 1.1 | zlib | 商用 |
简单说:Portainer BE 的核心卖点(Git Webhook、全域变量、漏洞扫描、OIDC),Dockhand 免费版全部给了。而且还多了 Volume 浏览器和统一日志这两个独家功能。
最大的短板是没有中文 UI,GitHub 上 i18n issue 已经开了,但短期内还得啃英文。如果你家里有对英文不熟的成员也要用面板,这一点要考虑。
适合谁用
适合:
- 家用 NAS 跑 10-50 个 Docker 容器,嫌 Portainer CE 越来越鸡肋
- 有多台机器需要统一管 Docker(Homelab 多节点)
- 已经在 Git 仓库里管 Compose 文件,想试试轻量 GitOps
- 想要漏洞扫描但不想花钱买 Portainer BE
不适合:
- 必须中文 UI(暂时等等 i18n)
- 用 K8s/Swarm 为主的场景(Dockhand 只管 Docker)
- 想拿来做付费 SaaS 对外卖 Docker 控制台(BSL 1.1 不允许)
总结
Dockhand 不是革命性的发明,它只是把这几年来社区一直在喊的需求——Git 直接部署、全局变量、卷浏览、统一日志、跨环境管理——一次打包给了免费用户。在 Portainer CE 越来越像「商业版试用」的当下,它出现的时间点刚好。
对 NAS 玩家来说,现在就可以把它跟 Portainer 并行装一段时间试手感。挂好数据卷、别忘了开验证、套个反代,迁移成本几乎为零。BSL 1.1 在个人和内部使用上完全等同于开源,2029 年自动转 Apache 2.0 也是一个合理的长期承诺。
它能不能真正取代 Portainer?看 1.x 之后的 i18n 进度和社区反馈。但作为 2026 年的「Docker 面板新选择」,Dockhand 已经稳坐第一梯队了。
参考链接:
- GitHub: Finsys/dockhand
- 官网: dockhand.pro
- Docker Hub: fnsys/dockhand
- 参考: XDA Developers 评测