Docker 拉取出现 410 Gone 怎么办?
本文适用于:
- • Docker 1.x 或较低版本的 Docker 17.x/18.x
- • 遇到 410 Gone 错误
- • 需要升级 Docker 到 20+ 版本
- • Registry V1 协议不兼容问题
⚠️ 重要提示
这不是镜像仓库的问题,而是您的 Docker 版本过低导致的协议不兼容。Docker 1.x 或较低版本的 Docker 17.x/18.x 仅支持 Registry V1 协议,而本站镜像仓库仅支持 Registry V2 协议。请将 Docker 升级至 20.x 或更高版本。
当您遇到 410 Gone 错误时,这通常是由于 Docker 版本过低导致的协议不兼容问题。
错误示例
[root@nats1 ~]# docker login -u 1585**** -p **** docker.xuanyuan.run
Login Succeeded
[root@nats1 ~]# docker pull docker.xuanyuan.run/structurizr/lite:latest
Trying to pull repository docker.xuanyuan.run/structurizr/lite ...
Pulling repository docker.xuanyuan.run/structurizr/lite
Error: Status 410 trying to pull repository structurizr/lite: "<html>\r\n<head><title>410 Gone</title></head>\r\n<body>\r\n<center><h1>410 Gone</h1></center>\r\n<hr><center>openresty</center>\r\n</body>\r\n</html>\r\n"
问题原因
Docker 1.x 或较低版本的 Docker 17.x/18.x 默认仅支持 Registry V1 协议,而本站镜像仓库仅支持 Registry V2 协议。当客户端尝试使用不兼容的 V1 协议访问时,会返回 410 Gone 错误。
解决方案
请将 Docker 升级至 20.x 或更高版本,以支持 V2 协议。
升级完成后,使用 docker info 检查版本,重新执行登录与拉取命令即可正常使用。
你可能还会遇到:
- • docker pull 提示 manifest unknown 怎么办?
- • docker pull 提示 no matching manifest 怎么办?
- • 镜像已拉取完成,却提示 invalid tar header 或 failed to register layer 怎么办?
- • Docker pull 时 HTTPS / TLS 证书验证失败怎么办?
- • Docker pull 时 DNS 解析超时或连不上仓库怎么办?
- • docker 无法连接轩辕镜像域名怎么办?
- • 出现 402 或「流量用尽」提示怎么办?
- • Docker 拉取提示 UNAUTHORIZED(401)怎么办?
- • 遇到 429 Too Many Requests(请求太频繁)怎么办?
- • docker login 提示 Cannot autolaunch D-Bus,还算登录成功吗?
- • 为什么会出现「单层超过 20GB」或 413,无法加速拉取?
本文由「轩辕镜像」维护
轩辕镜像 | Docker 镜像高效稳定拉取服务
内容基于轩辕镜像真实用户使用与实测整理