diff options
author | OpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com> | 2020-04-17 15:19:45 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-04-17 15:19:45 -0400 |
commit | bd8a0b08cdea5f15d6033b24038ba71aef1f8962 (patch) | |
tree | 581e283021a0edff9dfd89be73ddd7ccceb42b1d /libpod/image/image.go | |
parent | ba289dcd79e3a2b5ec5dc02bd8adb84c93bef577 (diff) | |
parent | d8321363498c349647409dea1b6e15f8cf0ac17a (diff) | |
download | podman-bd8a0b08cdea5f15d6033b24038ba71aef1f8962.tar.gz podman-bd8a0b08cdea5f15d6033b24038ba71aef1f8962.tar.bz2 podman-bd8a0b08cdea5f15d6033b24038ba71aef1f8962.zip |
Merge pull request #5548 from kunalkushwaha/image-prune
image prune skips images with child images.
Diffstat (limited to 'libpod/image/image.go')
-rw-r--r-- | libpod/image/image.go | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/libpod/image/image.go b/libpod/image/image.go index 80cc6f15a..7198a42a3 100644 --- a/libpod/image/image.go +++ b/libpod/image/image.go @@ -32,10 +32,10 @@ import ( "github.com/containers/libpod/pkg/registries" "github.com/containers/libpod/pkg/util" "github.com/containers/storage" - "github.com/opencontainers/go-digest" + digest "github.com/opencontainers/go-digest" imgspecv1 "github.com/opencontainers/image-spec/specs-go/v1" ociv1 "github.com/opencontainers/image-spec/specs-go/v1" - "github.com/opentracing/opentracing-go" + opentracing "github.com/opentracing/opentracing-go" "github.com/pkg/errors" "github.com/sirupsen/logrus" ) @@ -847,6 +847,26 @@ func (i *Image) Dangling() bool { return len(i.Names()) == 0 } +// Intermediate returns true if the image is cache or intermediate image. +// Cache image has parent and child. +func (i *Image) Intermediate(ctx context.Context) (bool, error) { + parent, err := i.IsParent(ctx) + if err != nil { + return false, err + } + if !parent { + return false, nil + } + img, err := i.GetParent(ctx) + if err != nil { + return false, err + } + if img != nil { + return true, nil + } + return false, nil +} + // Labels returns the image's labels func (i *Image) Labels(ctx context.Context) (map[string]string, error) { imgInspect, err := i.imageInspectInfo(ctx) |