Browse Source

Merge pull request #46911 from vvoland/c8d-prune-dangling-default

c8d/prune: Default `dangling` to true, familiarize untagged images
Sebastiaan van Stijn 1 year ago
parent
commit
312fbb6d41
2 changed files with 13 additions and 2 deletions
  1. 11 0
      daemon/containerd/image.go
  2. 2 2
      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
+}

+ 2 - 2
daemon/containerd/image_prune.go

@@ -42,7 +42,7 @@ func (i *ImageService) ImagesPrune(ctx context.Context, fltrs filters.Args) (*ty
 		return nil, err
 		return nil, err
 	}
 	}
 
 
-	danglingOnly, err := fltrs.GetBoolOrDefault("dangling", false)
+	danglingOnly, err := fltrs.GetBoolOrDefault("dangling", true)
 	if err != nil {
 	if err != nil {
 		return nil, err
 		return nil, err
 	}
 	}
@@ -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),
 			},
 			},
 		)
 		)