如何解决拉取Docker镜像时出现的「unexpected EOF」错误?
Docker拉取镜像时出现
unexpected EOF错误的成因与解决方法 成因
- 网络连接不稳定:Docker Hub的官方节点
registry-1.docker.io在国内访问常出现丢包、连接中断,导致请求未完整传输就提前终止,返回unexpected EOF。 - Docker Desktop网络配置异常:DNS设置错误、Docker网络栈冲突等问题,会导致无法和镜像仓库建立完整的HTTP连接。
- 认证缓存损坏:虽然已完成Docker Hub认证,但本地缓存的认证信息可能过期或损坏,引发仓库请求异常中断。
解决方法
- 切换国内镜像源:打开Docker Desktop的设置,找到「Docker Engine」,修改配置文件添加国内镜像源:
修改完成后点击「Apply & Restart」重启Docker。{ "registry-mirrors": [ "https://hub-mirror.c.163.com", "https://mirror.baidubce.com" ] } - 重置Docker网络:进入Docker Desktop设置的「Resources」->「Network」,点击「Reset to factory defaults」,之后重启Docker。
- 重新完成认证:在终端执行
docker logout注销,再执行docker login重新输入账号密码完成Docker Hub认证。 - 测试网络连通性:在终端执行
curl https://registry-1.docker.io/v2/,如果返回401 Unauthorized属于正常(需认证);若仍出现EOF,说明本地网络到该节点连接有问题,可尝试切换网络环境(比如手机热点)。
内容的提问来源于stack exchange,提问作者Boris
相关产品推荐
相关产品推荐

