【Bug 解决】Error:failed to solve failed to do request:Head “https://registry-1.docker.io/v2/library/xxx
对应 -a 删除全部未使用的镜像,-f 或 --force 不经过确认强行删除。的系列命令来清理镜像缓存。一般情况下,运维清理镜像是通过命令。这里贴一下我改后的配置,两处改动,增加了国内镜像源地址。但是这条命令不会删除。执行命令,深度清除缓存。命令产生的缓存文件。先查看一下缓存情况,
问题描述
ERROR: failed to solve failed to do request: Head “https://registry-1.docker.io/v2/library/nginx/manifests/1.19.7”: EOF
出现原因
- 更换了镜像仓库为国内镜像源;
- 修改docker engine的配置;
这里贴一下我改后的配置,两处改动,增加了国内镜像源地址registry-mirrors,buildkit 改为false。配置文件路径为~.docker/daemon.json
{
"registry-mirrors": [
"http://hub-mirror.c.163.com",
"https://docker.mirrors.ustc.edu.cn/"
],
"builder": {
"gc": {
"defaultKeepStorage": "20GB",
"enabled": true
}
},
"experimental": false,
"features": {
"buildkit": false
}
}
解决办法
使用 docker system 的系列命令来清理镜像缓存。一般情况下,运维清理镜像是通过命令 docker rm i 删除镜像的。但是这条命令不会删除docker build命令产生的缓存文件。
先查看一下docker占用的存储空间情况,执行docker system df 。如图,Build Cache 为本地缓存,大小为15.11MB:
执行命令docker builder prune,一键清除Build Cache缓存:
docker builder prune
执行命令后,会提示此操作将移除所有悬空镜像缓存,输入y确认,
再次查看docker占用情况,Build Cache已清空,
深度清理
如果还是不行🙅,可以尝试使用docker system prune深度清理,此操作会删除所有未使用的容器、网络、镜像(包括悬空的和未引用的)以及卷(可选),务必谨慎操作!!!
对应可使用的参数:
- -a, --all:删除未被任何容器引用的所有镜像,而不仅仅是悬空镜像
- –force, -f:跳过确认步骤,直接执行删除;如果不用在执行步骤时需要手动确认,建议不用
- –volumes, -v:删除所有未被至少一个容器引用的卷
- –filter:根据提供的条件过滤要删除的内容
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)