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

向本地5000端口Registry推送Docker镜像超时失败,该如何排查解决?

排查解决步骤

  1. 验证Registry服务本身可用性
    进入容器内部测试服务是否正常响应:
docker exec -it local-registry curl http://127.0.0.1:5000/v2/_catalog
  • 若容器内部能正常返回空的镜像列表结果,说明Registry服务运行正常,问题出在宿主机到容器的网络链路;
  • 若容器内部也无响应,直接排查Registry配置与存储后端问题。
  1. 排查宿主机网络拦截规则
  • 确认5000端口由Docker代理正常监听:
ss -tunlp | grep 5000
  • 临时关闭防火墙与SELinux测试,排除规则拦截:
# 临时关闭firewalld
systemctl stop firewalld
# 临时关闭SELinux
setenforce 0

调整后重试curl http://localhost:5000和镜像推送操作。

  1. 排查存储与缓存组件异常
    从日志可见你使用了Redis缓存和文件系统存储:
  • 若你挂载了宿主机目录作为Registry存储,检查目录权限,Registry默认运行UID为1000,需确保存储目录对该UID开放读写权限:
# 替换为你实际挂载的Registry存储路径
chown -R 1000:1000 /opt/registry/data
  • 测试Registry到Redis服务的连通性,Redis连接超时会直接导致Registry请求hang住,核对Registry配置文件中的Redis地址、端口、密码配置是否正确,可进入容器手动连接Redis验证。
  1. 修正Docker客户端配置
  • 检查/etc/docker/daemon.json是否已配置非安全仓库白名单:
{
  "insecure-registries": ["localhost:5000"]
}

修改完成后执行systemctl restart docker重启Docker服务生效。

  • 若你配置了Docker全局代理,需将localhost,127.0.0.1加入NO_PROXY环境变量,避免本地请求被代理转发导致超时。
  1. 替换镜像版本验证
    你当前使用的ibmcom/registry:2.6.2.5属于定制旧版本,存在已知的兼容性BUG,可替换为官方registry:2.8镜像启动测试,排除镜像本身缺陷。

内容的提问来源于stack exchange,提问作者AmulyaM

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 03:54:05