mirror of
https://github.com/containers/podman.git
synced 2025-06-24 19:42:56 +08:00
Merge pull request #1938 from baude/rmichildren
correct algorithm for deleting all images
This commit is contained in:
@ -91,8 +91,23 @@ func rmiCmd(c *cli.Context) error {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return errors.Wrapf(err, "unable to query local images")
|
return errors.Wrapf(err, "unable to query local images")
|
||||||
}
|
}
|
||||||
for _, i := range imagesToDelete {
|
lastNumberofImages := 0
|
||||||
removeImage(i)
|
for len(imagesToDelete) > 0 {
|
||||||
|
if lastNumberofImages == len(imagesToDelete) {
|
||||||
|
return errors.New("unable to delete all images; re-run the rmi command again.")
|
||||||
|
}
|
||||||
|
for _, i := range imagesToDelete {
|
||||||
|
isParent, err := i.IsParent()
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if isParent {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
removeImage(i)
|
||||||
|
}
|
||||||
|
lastNumberofImages = len(imagesToDelete)
|
||||||
|
imagesToDelete, err = runtime.ImageRuntime().GetImages()
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// Create image.image objects for deletion from user input.
|
// Create image.image objects for deletion from user input.
|
||||||
|
Reference in New Issue
Block a user