You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何检查Docker远程Registry是否运行并可接收镜像推送?

检查Docker远程Registry可用性与可推送状态的方法

1. 基础连通性与API状态检查

远程Registry(v2版本)提供标准API端点,可通过curl快速验证在线状态:

# 未登录状态下检查(返回401为正常,说明Registry在线但需认证)
curl -I https://your-registry-domain.com/v2/

# 已登录状态下验证(需带上认证token,需jq工具,若无可用grep/awk替代)
TOKEN=$(curl -s "https://your-registry-domain.com/v2/token?service=your-registry-domain.com" | jq -r '.token')
# 带token请求API端点,返回200则说明Registry在线且认证有效
curl -I -H "Authorization: Bearer $TOKEN" https://your-registry-domain.com/v2/

2. 模拟推送权限验证

若要确认Registry是否能接收镜像推送,可借助极小测试镜像做验证:

# 拉取最小镜像并打私有Registry标签
docker pull alpine:latest
docker tag alpine:latest your-registry-domain.com/test/alpine:temp

# 尝试推送(部分Registry支持--dry-run做预检,无实际推送)
docker push --dry-run your-registry-domain.com/test/alpine:temp

# 若不支持dry-run,可推送后立即清理
docker push your-registry-domain.com/test/alpine:temp && \
docker rmi your-registry-domain.com/test/alpine:temp && \
# 删除Registry上的测试镜像
curl -X DELETE -H "Authorization: Bearer $TOKEN" "https://your-registry-domain.com/v2/test/alpine/manifests/latest"

3. 重新验证登录状态

有时登录会话过期会导致推送失败,可强制刷新登录:

# 用标准输入传递密码避免明文显示
docker login your-registry-domain.com --username your-username --password-stdin <<< "your-password"

返回Login Succeeded则说明认证会话有效,Registry可正常响应认证请求。

注意事项

  • 若使用自签名证书的私有Registry,需确保Docker已配置信任该证书(将证书放入/etc/docker/certs.d/your-registry-domain.com/目录),否则curl和Docker命令会因证书验证失败报错。
  • 检查本地网络、防火墙或代理是否允许与Registry的443端口(HTTPS)通信。

内容的提问来源于stack exchange,提问作者Bjørson Bjørson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 02:05:59