Docker容器更新监控利器Drydock
简介
什么是 Drydock?
Drydock是一款开源的容器更新监控工具,使用TypeScript构建,现代化UI设计。它可以自动发现运行的容器,检测23个镜像仓库的更新,并通过20+种渠道发送通知。与Watchtower、Ouroboros等传统工具不同,Drydock提供了完整的Web管理界面和丰富的企业级功能。
主要特点
- 🌐 Web UI 仪表盘:现代化的响应式界面,支持浅色/深色主题
- 📦 23 个镜像仓库支持:
Docker Hub、GHCR、ECR、GCR、GAR、GitLab、Quay、Harbor等 - 🔔 20 种通知方式:
Slack、Discord、Telegram、Teams、Matrix、SMTP、MQTT、HTTP Webhook等 - 🔐 多种认证方式:
Basic Auth、OIDC(支持Authelia、Auth0、Authentik) - 📊 Prometheus 指标:内置
/metrics端点,便于集成监控栈 - 🔄 Docker Compose 更新:支持自动拉取和重建服务
- 📝 审计日志:完整的事件追踪和持久化存储
- 🛡️ 安全扫描:集成
Trivy漏洞扫描,阻止不安全更新 - 💾 镜像备份与回滚:更新前自动备份,一键回滚
- 🤖 分布式架构:支持远程
Docker主机监控 - 📱 移动端适配:完整响应式设计
应用场景
- 🏠 个人 homelab:监控家庭实验室中的所有容器更新
- 🏢 企业 DevOps:统一监控多台服务器的容器状态
- 🔔 自动化运维:通过
webhook对接CI/CD系统实现自动化更新 - 📊 运维监控:结合
Prometheus和Grafana实现可视化监控 - 🔒 安全合规:扫描镜像漏洞,确保更新安全性

Drydock 是 What's Up Docker? (WUD) 的完美替代品,兼容 WUD 的所有配置和环境变量。
安装
在群晖上以 Docker 方式安装。
在注册表中搜索 codeswhat ,选择第一个 codeswhat/drydock,版本选择 latest。
本文写作时,
latest版本对应为1.3.9;

docker cli 安装
如果你熟悉命令行,可能用 docker cli 更快捷
1 | # 运行容器 |
⚠️ 重要:
Drydock需要访问Docker socket来监控容器状态和执行更新操作。
环境变量
环境变量的简单说明,更多的可以参考官方文档,无论是 watcher 还是 trigger 等 ,都是通过环境变量启用的
| 可变 | 值 | 说明 |
|---|---|---|
DD_AUTH_BASIC_ADMIN_USER |
admin |
管理用户名 |
DD_AUTH_BASIC_ADMIN_HASH |
{SHA}... |
密码哈希值 |
TZ |
Asia/Shanghai |
时区设置 |
上面的哈希值对应的密码是
password,生产环境请务必修改为自己的密码!
生成密码哈希
要生成密码哈希,可以使用在线工具
地址: https://www.askapache.com/online-tools/htpasswd-generator

生成的格式类似 admin:{SHA}fEqNCco3Yq9h5ZUglD3CZJT4lBs=
admin是用户名,作为DD_AUTH_BASIC_ADMIN_USER的值{SHA}fEqNCco3Yq9h5ZUglD3CZJT4lBs=则是密码生成的哈希,用于DD_AUTH_BASIC_ADMIN_HASH的值

docker-compose 安装
也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件
1 | version: '3' |
然后通过 SSH 登录到您的群晖,执行下面的命令:
1 | # 新建文件夹 drydock 及子目录 |

运行
在浏览器中输入 http://群晖IP:3516 就能看到登录界面
使用设置的用户名和密码登录(默认:admin / password)

登录成功后的主界面

进 Containers 可以看到哪些有升级

选择需要升级的容器,点 Update now

Drydock 更新成功的前提是,你的网络访问相应的 docker 仓库没问题

下载成功后,能看到下载的镜像

要想让 drydock 自动更新容器(无人值守),需要配置 Trigger,并开启 auto-update
1 | environment: |
注意事项
- 🔐 安全认证:新版本默认启用认证,生产环境务必修改默认密码
- 🛡️ Socket 权限:直接挂载
socket有root权限风险,生产环境推荐使用socket代理 - 💾 数据持久化:审计日志和配置会存储在容器内,重启会丢失(如需持久化可配置卷挂载)
- 🌐 网络访问:确保能访问目标镜像仓库,部分云厂商仓库可能需要认证
- 🔄 自动更新:启用
Docker trigger后会自动更新容器,请确保有备份策略
参考文档
CodesWhat/drydock: Open source container update monitoring — 15 registries, 16 notification triggers, audit log, OIDC auth, Prometheus metrics, and a modern dashboard.
地址:https://github.com/CodesWhat/drydockIntroduction
地址:https://drydock.codeswhat.com/docs