极空间 NAS 搭建 Dockhand,免费 Docker 管理神器,告别命令行

2026-02-26 10:44:44 0点赞 5收藏 2评论

极空间自带的 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 denied0: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 搭建 Dockhand,免费 Docker 管理神器,告别命令行

适合人群:

  • ✅ NAS 上容器多,管理起来费劲

  • ✅ 不想每次都 SSH 敲命令

  • ✅ 想在手机或平板上也能看容器状态

  • ✅ 有多台设备跑 Docker,想统一管理

不适合人群:

  • ❌ 只跑了一两个容器,自带界面够用

  • ❌ 完全没接触过 Docker,建议先从基础学起


你们 NAS 上跑了多少个 Docker 容器?用什么工具管理的?欢迎评论区聊聊~

觉得有用的话,记得点赞 + 收藏,后续还有更多 NAS 实用分享!

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起
2评论

  • 精彩
  • 最新
  • 大佬,请问一下,我按教程用极空间Compose安装了Dockhand,然后匆匆忙忙设置了账号密码,忘了保存。。。结果现在进不去界面,也找不到Dockhand_data这个文件夹咋办?

    校验提示文案

    提交
    找不到 Dockhand_data 是正常的——Compose 教程里用的是 Docker 命名卷,不是文件管理器里能浏览的普通文件夹,数据在 Docker 卷里,容器内路径是 /app/data。

    忘记密码不用重装:极空间开 SSH,执行
    docker exec -it bun scripts/reset-password.js admin
    (容器名在 Docker 界面或 docker ps 里看,不一定是 dockhand)
    按提示设新密码即可登录。

    若页面本身打不开,先看容器是否在跑、docker logs 有没有报错,并确认访问端口(默认 3000)。

    实在搞不定、且里面没重要数据,可以删 Compose 项目 + 删 dockhand 相关 volume 后重装,这次记得保存密码。

    校验提示文案

    提交
    收起所有回复
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
5
扫一下,分享更方便,购买更轻松