summaryrefslogtreecommitdiff
path: root/libpod/image
diff options
context:
space:
mode:
Diffstat (limited to 'libpod/image')
-rw-r--r--libpod/image/image.go24
1 files changed, 24 insertions, 0 deletions
diff --git a/libpod/image/image.go b/libpod/image/image.go
index 4d481c8e5..b2dd22b82 100644
--- a/libpod/image/image.go
+++ b/libpod/image/image.go
@@ -274,6 +274,15 @@ func (i *Image) Names() []string {
return i.image.Names
}
+// RepoDigests returns a string array of repodigests associated with the image
+func (i *Image) RepoDigests() []string {
+ var repoDigests []string
+ for _, name := range i.Names() {
+ repoDigests = append(repoDigests, strings.SplitN(name, ":", 2)[0]+"@"+i.Digest().String())
+ }
+ return repoDigests
+}
+
// Created returns the time the image was created
func (i *Image) Created() time.Time {
return i.image.Created
@@ -778,3 +787,18 @@ func splitString(input string) string {
func (i *Image) InputIsID() bool {
return strings.HasPrefix(i.ID(), i.InputName)
}
+
+// Containers a list of container IDs associated with the image
+func (i *Image) Containers() ([]string, error) {
+ containers, err := i.imageruntime.store.Containers()
+ if err != nil {
+ return nil, err
+ }
+ var imageContainers []string
+ for _, c := range containers {
+ if c.ImageID == i.ID() {
+ imageContainers = append(imageContainers, c.ID)
+ }
+ }
+ return imageContainers, err
+}