【Bug 解决】Error:failed to solve failed to do request:Head “https://registry-1.docker.io/v2/library/xxx

问题描述

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-mirrorsbuildkit 改为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 system df
【Bug 解决】Error:failed to solve failed to do request:Head “https://registry-1.docker.io/v2/library/xxx_第1张图片
执行命令,深度清除缓存

docker system prune -a --force

对应 -a 删除全部未使用的镜像,-f 或 --force 不经过确认强行删除。

你可能感兴趣的:(bug,docker,容器)