5个月的时间,Star 数干到了 4400。

Docker 管理工具这个圈子,又冒出来一个好东西——Dockhand。
我瞅了一眼它主要就干了一件事:把Docker容器的管理工作,做得更简单一些。
管理只是它的一部分。
平时配 Compose 项目,可以直接图形化编辑,不用一直对着 YAML 文件改。
服务器多了,它也能帮你统一管理远程机器。
安全和运维这块同样没落下——镜像漏洞能扫描,更新支持自动化,真出问题还能随时回滚。
连认证都省得你再额外折腾,OIDC 和 SSO 已经内置,还完全免费。
像 Watchtower,Dozzle,Diun这一堆工具,以后就不用挨个去装了,一个界面就能全搞定。
它的定位,是一个比较现代化的Docker管理平台,算得上是 Portainer 的一个挺有分量的对手。
Dashboard为什么这个东西值得你去关注一下?
它把Portainer那边需要付费才能用的功能,直接拿出来免费提供了。
这一点,确实是最让人没想到的地方。
到2025年底的时候,Portainer把 OIDC/SSO 和 RBAC,都锁到付费版本里面去了。
社区里头一下子就炸了——好多人用 Portainer,本来就是奔着自托管去的,结果现在想搞一个单点登录,每年还得掏出去几十欧元。
Dockhand走的路子正好反过来:OIDC/SSO它直接免费开放出来用,只是把RBAC和LDAP/AD放在了企业版里。
要是你想给自托管环境加上单点登录的话,用Dockhand是不用花钱的。
Authentication Settings除了在认证策略上比较友好之外,它还把Docker管理的一整条链都给串起来了。
01 容器生命周期的管理。
启动,停止,重启,删除这些操作,在界面里头全都可以一键点下去,批量处理也是支持的。
想看日志的话,直接点进去就能看到实时流,ANSI颜色的渲染也没什么毛病,这样一来,Dozzle就不用单独再去开了。
要是想进到容器里面做些调试,直接在Web端打开一个终端就行,SSH完全用不着。
Containers View
02 Compose栈的可视化编辑。
它里头有一个视觉化的编辑器,YAML要是写错了,会直接给你标出来,不会像有的工具那样,只是丢回来一句“部署失败”就没下文了。
更要紧的一点是,它支持直接从Git仓库里面把栈拉下来,把webhook配置好以后,每一次push操作都能自动去触发部署。
这个地方,我本人是比较喜欢的。
以前要是想搞那种GitOps式的部署,要么得自己去写一堆脚本,要么就得拖一套ArgoCD那样比较重的工具过来。
Dockhand是把这种能力收到了同一个界面里头,基本上不需要你再额外去折腾什么东西。
Stacks Editor03 镜像漏洞的扫描。
它里面是内置了Grype和Trivy这两个扫描器的。
我想起来以前为了合规,要做镜像的漏洞扫描。
找了一些第三方工具,折腾半天装上去。
现在不用了。
只要点一下,结果立马就出来了,而且还可以按严重程度去做过滤。
扫描完之后的结果,会按照镜像的SHA256值去做缓存,不会每次都从头到尾重新跑一遍。
Images View04 自动更新,而且是带着回滚保护的那种。
它支持给容器去配置定时的更新任务,不是拉一个新镜像就算完事的粗放做法。
在更新之前,它可以先帮你扫一遍漏洞。要是新镜像的漏洞比旧的那个还要多,它能够自动把这次更新操作给挡住。
万一更新过程中出了什么状况,回滚保护机制还在那里兜着底。
现在估计还有很有人在用 Watchtower 做自动更新,但是没有漏洞检查的功能,回滚也是没有的。
估计作者也看到这个痛点,就把这一套全部做到 Dockhand。
Schedules05 通过 Hawser Agent 进行远程管理。
它里头有一个叫做 Hawser 的Agent。
这个设计确实得说挺聪明的:
Agent只是往外去发起 WebSocket 连接,不需要你在防火墙上单独去开什么端口,也不用把Docker socket暴露出去。
对于那些躲在NAT后面,IP地址还是动态变化的服务器来讲,这种方式比直接把TCP端口展露出去,要安全得多。
Networks核心功能说得差不多了,再来聊聊那些让你用起来感觉比较顺手的小细节。
界面的响应速度特别快。
它是用 Svelte 5 写的,比起那些还停留在老框架上的工具,感觉要清爽不少。
有亮色和暗色两种主题。
Dashboard Light
Dashboard Dark另外仪表盘上那些磁贴的大小,你也可以自己去配置,想看哪个环境的容器状态,直接拖一下就行了。
** 采用了Wolfi硬化镜像。**
从零开始构建它自己的 OS 层,每一个包都在 Dockerfile 里头显式写明。
做到了零遥测,不会背着你偷偷发数据出去。
Security Settings通知框架的集成。
支持SMTP邮件方式,同时也集成了Apprise,像Discord,Slack,Telegram,ntfy,Gotify,Pushover等等,总共50多个服务都能接进来。
容器启动,停止,更新失败,发现新漏洞这些事件,全都可以自动把通知给你推送出去。
Activity Log聊到这个地方,你极有可能会想:部署起来到底麻不麻烦?
部署的话,其实是相当简单的
一条命令就可以把它跑起来:
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
在浏览器里面访问localhost:3000,就可以用了。
部署的时候有个小坑还是得提一嘴:它默认是不会以root身份去运行的,Docker socket那边的权限可能要去调一下。
最省事的法子,是加上--user 0:0直接用root去跑,再不然通过--group-add把Docker组的GID加进去也行。
当然了,Dockhand也不是说就完美无缺了。
它目前只支持Docker和Compose,Kubernetes还有Swarm这边还管不了,这方面比起来,Portainer确实要更全面一些。
另外呢,RBAC这一类企业级功能,也是要付费的,不过门槛要比Portainer那边低上不少——毕竟OIDC/SSO是免费提供的,只有RBAC才需要花钱。
再来说一下许可证方面的事情。
目前用的是BSL 1.1,个人使用,内部商用,非营利性质还有教育用途,全都是免费的,但是你不能把它包装成一个SaaS服务拿去卖钱。
到了2029年1月1号以后,它会自动转成Apache 2.0,到那个时候就是完全开源的了。
但话说回来,如果你只是想把Docker管好,不想去折腾K8s那一套复杂的东西,Dockhand是够用的了。
Terminal & Logs写在最后
我之前搞运维的时候, 经常用 Docker。
刚开始学的时候基本全是用命令来管理。
后来用的熟练之后,发现 Portainer 免费还带界面。
我就顺手换了过去。
用了好几年,说心里话还是挺满意的。
不过最近发现了 Dockhand。
上手试了一下,发现更好用了。
真是一代更比一代强。
经常跟 Docker 打交道的朋友,不妨试着玩一玩。
评论区说说你是怎么玩 Docker 的。
项目基于 BSL 1.1 协议开放的,感兴趣的同学,可以去 GitHub 仓库翻翻源码和文档。
开源地址:https://github.com/Finsys/dockhand
既然都看到这儿了,欢迎随手帮忙点赞,在看,转发,也欢迎给我点个星标⭐,这样就能收到最新的文章了,咱们下期见!