极空间 NAS 搭建 Dockhand,免费 Docker 管理神器,告别命令行
极空间自带的 Docker 管理界面,部署容器、看看状态还行,但容器一多就不够用了——想看某个容器吃了多少内存,得一个个点进去;想改个 compose 配置重新部署,操作路径绕来绕去;想看日志排查问题,界面加载半天。
之前用过 Portainer,功能确实强,但说实话界面有点老,而且社区版砍了不少功能,商业版又太贵。后来在 GitHub 上看到 Dockhand,试了一下,发现这东西挺对胃口:界面干净、免费版功能不阉割、部署也简单。
在极空间上跑了一段时间,把搭建过程和使用感受整理一下。
Dockhand 是什么?和 Portainer 有什么区别?
简单说,Dockhand 是一个跑在 Docker 里的 Web 管理面板,用浏览器就能管容器。
和 Portainer 比:
Portainer 社区版限制越来越多(比如多环境管理要付费),Dockhand 免费版没这个限制
Dockhand 界面更现代,仪表盘信息密度高,一眼能看到所有容器的资源占用
Portainer 生态更成熟,模板多,社区大;Dockhand 相对新,遇到问题搜到的资料少一些
两者都能管 Compose 项目、看日志、开终端
和极空间自带界面比:
极空间自带界面胜在集成度高,不用额外装东西
但容器多了之后,Dockhand 的批量操作、实时监控、日志搜索明显好用
如果你只跑两三个容器,极空间自带的完全够用,没必要折腾 Dockhand
搭建过程
先搞定镜像加速
国内拉 Docker Hub 镜像经常卡住,极空间上必须先配加速器。
→ 极空间 App 或网页端 → Docker → 镜像仓库 → 加速器配置 → 加速地址填 https://docker.xuanyuan.me(免登录,支持极空间) → 保存,等 Docker 重启
搜个镜像试试,能搜到就说明生效了。搜不到的话换个加速地址,这类地址时不时会失效,多试几个。
Compose 部署
极空间 Docker 界面里选「Compose 部署」,新建项目,项目名填 dockhand,粘贴下面这段:
services:
dockhand:
image: fnsys/dockhand:latest
container_name: dockhand
restart: unless-stopped
user: "0:0"
ports:
- "3000:3000"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- dockhand_data:/app/data
volumes:
dockhand_data:
点部署,等镜像拉完,容器状态变「运行中」就行了。
user: "0:0" 是什么意思? Dockhand 要读取 Docker 的 socket 文件才能管理容器,极空间上权限比较严,不加这行会报 permission denied。0:0 就是以 root 身份运行。安全性上有一定风险,但在局域网内的 NAS 上问题不大,后面会说怎么加密码保护。
如果极空间不支持 Compose
也可以在 Docker 界面手动创建容器:
镜像:fnsys/dockhand:latest
容器名:dockhand
端口映射:3000 → 3000
卷挂载1:/var/run/docker.sock → /var/run/docker.sock
卷挂载2:dockhand_data → /app/data
运行用户:0:0
重启策略:unless-stopped
首次打开:先设密码
浏览器访问 http://极空间IP:3000,比如 http://192.168.1.100:3000。
⚠️ 这里有个坑:Dockhand 首次启动默认不要密码,谁都能进。
必须马上去 Settings → Authentication,开启认证,创建管理员账号。不然局域网里随便一个人打开这个地址就能操作你所有的容器,包括停掉、删掉。
设完密码,重新登录。
添加 Docker 环境
登录后还看不到容器,需要告诉 Dockhand 去哪管理。
→ Settings → Environments → Add Environment → 名称填「极空间」或随便什么 → 连接类型选 Local socket → 保存
回到首页,所有容器就出来了。
实际用起来怎么样
仪表盘确实好用
首页一眼能看到每个容器的 CPU、内存、网络流量,不用一个个点进去。卡片可以拖拽、调大小,数据 10 秒刷一次。跑了十几个容器的时候,这个界面比极空间自带的清晰很多。
日志查看省了不少事
以前排查容器问题,要么 SSH 进去 docker logs,要么在极空间界面里等半天加载。Dockhand 的日志是实时流式的,打开就能看,还能搜索关键词。比如某个容器报错了,直接搜 error 就能定位,不用肉眼翻。
浏览器里开终端
点进容器,切到 Terminal 标签,直接就是一个命令行。改个配置文件、看个目录结构,不用再开 SSH 客户端了。这个功能对手机和平板特别友好——躺床上用 iPad 也能操作。
Compose 项目管理
在 Stacks 页面能看到所有 Compose 项目,点进去直接编辑 YAML,改完一键重新部署。比如想给某个容器加个环境变量,改完点 Deploy 就行,不用再去极空间的 Docker 界面里找。
多台设备统一管理
如果你不止一台 NAS,或者还有台小主机跑 Docker,可以在 Environments 里加多个环境。Dockhand 支持通过 Hawser(它自己的轻量代理)连接远程主机,不需要暴露 Docker API 端口。
几个要注意的地方
端口冲突:3000 端口如果被别的容器占了(比如 Grafana 默认也是 3000),改成别的端口就行,compose 里把 "3000:3000" 改成比如 "3001:3000"。
NAS 上 /system/df 可能很慢:Dockhand 会调用 Docker 的磁盘统计接口,有些 NAS 上这个接口响应很慢,导致仪表盘加载卡顿。如果遇到这个问题,在 compose 里加一行环境变量 SKIP_DF_COLLECTION: "true" 关掉磁盘统计就好了。
数据备份:Dockhand 的数据(配置、Compose 文件等)存在 dockhand_data 这个 Docker 卷里。极空间上建议定期备份 Docker 卷数据,万一重装系统不至于全丢。
不能替代极空间自带界面:Dockhand 只管 Docker 容器,极空间的文件管理、相册、远程访问这些功能还是得用自带界面。两者是互补关系。
常见问题
Q:部署后 3000 端口打不开? 先在极空间 Docker 界面确认容器是不是在跑,看看容器日志有没有报错。如果容器正常但打不开,检查极空间有没有防火墙限制。
Q:添加环境时报 permission denied? compose 文件里漏了 user: "0:0",加上重新部署。
Q:镜像拉不下来? 加速器的问题,换个加速地址。也可以在电脑上拉好镜像导出,再导入到极空间。
Q:和 Portainer 能同时装吗? 可以,两个是独立的容器,互不影响。端口别冲突就行。
总结
Dockhand 适合在 NAS 上跑了五六个以上容器、觉得自带界面不够用的人。部署过程不复杂,十分钟搞定,免费版功能不打折。
不过它也不是万能的——界面是英文的,社区资料比 Portainer 少,遇到问题基本靠 GitHub Issues。如果你只跑两三个容器,极空间自带的 Docker 管理完全够用,没必要多装一个。

适合人群:
✅ NAS 上容器多,管理起来费劲
✅ 不想每次都 SSH 敲命令
✅ 想在手机或平板上也能看容器状态
✅ 有多台设备跑 Docker,想统一管理
不适合人群:
❌ 只跑了一两个容器,自带界面够用
❌ 完全没接触过 Docker,建议先从基础学起
你们 NAS 上跑了多少个 Docker 容器?用什么工具管理的?欢迎评论区聊聊~
觉得有用的话,记得点赞 + 收藏,后续还有更多 NAS 实用分享!
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

值友8338091889
校验提示文案
值友8338091889
校验提示文案