diff --git a/pkg/kubelet/dockershim/convert.go b/pkg/kubelet/dockershim/convert.go index b8dabddc1f2..e38d4971127 100644 --- a/pkg/kubelet/dockershim/convert.go +++ b/pkg/kubelet/dockershim/convert.go @@ -69,7 +69,7 @@ func toPullableImageID(id string, image *dockertypes.ImageInspect) string { // Default to the image ID, but if RepoDigests is not empty, use // the first digest instead. imageID := DockerImageIDPrefix + id - if len(image.RepoDigests) > 0 { + if image != nil && len(image.RepoDigests) > 0 { imageID = DockerPullableImageIDPrefix + image.RepoDigests[0] } return imageID diff --git a/pkg/kubelet/dockershim/docker_container.go b/pkg/kubelet/dockershim/docker_container.go index 7bf5622d807..e7c3d0c26e6 100644 --- a/pkg/kubelet/dockershim/docker_container.go +++ b/pkg/kubelet/dockershim/docker_container.go @@ -347,7 +347,10 @@ func (ds *dockerService) ContainerStatus(_ context.Context, req *runtimeapi.Cont // Convert the image id to a pullable id. ir, err := ds.client.InspectImageByID(r.Image) if err != nil { - return nil, fmt.Errorf("unable to inspect docker image %q while inspecting docker container %q: %v", r.Image, containerID, err) + if !libdocker.IsImageNotFoundError(err) { + return nil, fmt.Errorf("unable to inspect docker image %q while inspecting docker container %q: %v", r.Image, containerID, err) + } + klog.Warningf("ignore error image %q not found while inspecting docker container %q: %v", r.Image, containerID, err) } imageID := toPullableImageID(r.Image, ir)