diff options
Diffstat (limited to 'libpod/image/image.go')
-rw-r--r-- | libpod/image/image.go | 24 |
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 +} |