Explorar o código

c8d/prune: Familiarize image names that were untagged

To align with the graphdriver implementation.

Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
Paweł Gronowski hai 1 ano
pai
achega
bea729c030
Modificáronse 2 ficheiros con 12 adicións e 1 borrados
  1. 11 0
      daemon/containerd/image.go
  2. 1 1
      daemon/containerd/image_prune.go

+ 11 - 0
daemon/containerd/image.go

@@ -341,3 +341,14 @@ func (i *ImageService) getAllImagesWithRepository(ctx context.Context, ref refer
 	nameFilter := "^" + regexp.QuoteMeta(ref.Name()) + ":" + reference.TagRegexp.String() + "$"
 	nameFilter := "^" + regexp.QuoteMeta(ref.Name()) + ":" + reference.TagRegexp.String() + "$"
 	return i.client.ImageService().List(ctx, "name~="+strconv.Quote(nameFilter))
 	return i.client.ImageService().List(ctx, "name~="+strconv.Quote(nameFilter))
 }
 }
+
+func imageFamiliarName(img containerdimages.Image) string {
+	if isDanglingImage(img) {
+		return img.Target.Digest.String()
+	}
+
+	if ref, err := reference.ParseNamed(img.Name); err == nil {
+		return reference.FamiliarString(ref)
+	}
+	return img.Name
+}

+ 1 - 1
daemon/containerd/image_prune.go

@@ -184,7 +184,7 @@ func (i *ImageService) pruneUnused(ctx context.Context, filterFunc imageFilterFu
 
 
 		report.ImagesDeleted = append(report.ImagesDeleted,
 		report.ImagesDeleted = append(report.ImagesDeleted,
 			image.DeleteResponse{
 			image.DeleteResponse{
-				Untagged: img.Name,
+				Untagged: imageFamiliarName(img),
 			},
 			},
 		)
 		)