更新时间:2023-12-07 GMT+08:00

下载镜像缺少层如何解决

故障现象

在使用containerd容器引擎场景下,拉取镜像到节点时,概率性缺少镜像层,导致工作负载容器创建失败。

问题根因

docker v1.10 之前支持mediaType 为 application/octet-stream 的layer,而containerd不支持application/octet-stream,导致没有拉取。

解决方法

有如下两种方式可解决该问题。

  • 使用高版本Docker(>= docker v1.11)重新打包镜像。
  • 手动下载镜像
    1. 登录节点。
    2. 执行如下命令手动下载镜像。

      ctr -n k8s.io images pull --user u:p images

    3. 使用新下载的镜像重新创建工作负载。