Docker镜像仓库监控需聚焦可用性、性能、安全和存储四大维度,核心前提是暴露并验证/metrics端点,再通过Prometheus Operator自动采集指标,结合Portainer辅助巡检,重点关注存储使用率、HTTP 5xx错误率、拉取延迟及认证失败次数。

Docker 镜像仓库监控不是只看“有没有在跑”,而是要盯住可用性、性能、安全和存储这四个关键维度。不同仓库类型(如轻量级 Registry 和企业级 Harbor)监控重点略有差异,但底层逻辑一致:采集指标 → 可视化 → 告警 → 快速响应。
直接暴露核心指标的端点是监控前提
Docker Registry 默认不开放指标接口,需启用 Prometheus 兼容的 metrics 端口;Harbor 则从 v2.0 起内置 /metrics(HTTP 端口 8080 或 HTTPS 的 8443),无需额外插件。确认服务已开启该端点(例如 curl http://harbor.example.com:8080/metrics 能返回文本格式指标),否则所有监控都无从谈起。
用 Prometheus Operator 自动发现并采集指标
适用于 Kubernetes 环境下的 Harbor 或 Registry(若以 Pod 形式部署)。关键是创建 ServiceMonitor,让 Operator 主动拉取数据:
- 标签匹配要与 Harbor/Registry Service 的
metadata.labels严格一致(如app: harbor) -
endpoints.port指向实际提供 metrics 的端口(Harbor 是metrics,Registry 需自行配置--metrics-addr=:8080) -
interval: 15s是合理采集频率,太短增加负载,太长影响告警时效
示例关键字段:
在 Linux 上通过 Docker 运行 OpenClaw,并使用 Tailscale 实现远程访问。⚠️ 涉及 sudo、Docker、Tailscale和凭证挂载——请先查阅安全章节...
spec:
selector:
matchLabels:
app: harbor
endpoints:
- port: metrics
path: /metrics
interval: 15s用 Portainer 快速掌握基础运行状态
适合单机或小规模 Docker 环境,无需部署整套监控栈。它能直观显示:
- 当前运行中的 registry 容器状态(是否重启频繁、CPU/内存占用突增)
- 镜像数量、总大小、最近 pull/push 记录(通过容器日志或挂载卷间接观察)
- 存储卷使用率(尤其
/var/lib/registry或 Harbor 的data目录)
注意:Portainer 本身不采集 metrics,但它把 Docker daemon 的原始信息做了友好聚合,对日常巡检足够高效。
必须关注的几类硬性指标
不是所有指标都同等重要,优先盯紧这些:
- 存储空间使用率:超过 85% 就该触发清理或扩容,Registry 不自动删旧镜像,Harbor 需手动或定时执行 GC
- HTTP 5xx 错误率:持续出现 500/503 表明认证服务、数据库或存储后端异常
- 镜像拉取延迟中位数(p50)和尾部延迟(p95):突然升高可能意味着网络抖动、存储 I/O 瓶颈或 TLS 握手问题
- 认证失败次数/分钟:异常飙升可能是暴力破解尝试,也可能是客户端配置错误批量重试
监控本身不解决故障,但能让问题浮出水面。只要 metrics 端点开着、采集链路通了、关键阈值设对了,剩下的就是看 Grafana 图表、收告警、查日志——流程就跑起来了。

















