Skip to content

Commit

Permalink
Merge pull request moby#55 from ndeloof/image_inspect
Browse files Browse the repository at this point in the history
  • Loading branch information
ndeloof committed Aug 12, 2022
2 parents 3793845 + da0ac40 commit f0464e4
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 2 deletions.
3 changes: 1 addition & 2 deletions api/server/router/image/image_routes.go
Original file line number Diff line number Diff line change
Expand Up @@ -207,10 +207,9 @@ func (s *imageRouter) getImagesByName(ctx context.Context, w http.ResponseWriter
}

func (s *imageRouter) toImageInspect(img *image.Image) (*types.ImageInspect, error) {
refs := s.referenceBackend.References(img.ID().Digest())
repoTags := []string{}
repoDigests := []string{}
for _, ref := range refs {
for _, ref := range img.Details.References {
switch ref.(type) {
case reference.NamedTagged:
repoTags = append(repoTags, reference.FamiliarString(ref))
Expand Down
12 changes: 12 additions & 0 deletions daemon/containerd/image.go
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,19 @@ func (i *ImageService) GetImage(ctx context.Context, refOrID string, options ima
if err != nil {
return nil, err
}

tagged, err := i.client.ImageService().List(ctx, fmt.Sprintf("target.digest==%s", ii.Target().Digest.String()))
tags := make([]reference.Named, 0, len(tagged))
for _, i := range tagged {
name, err := reference.ParseNamed(i.Name)
if err != nil {
return nil, err
}
tags = append(tags, name)
}

img.Details = &image.Details{
References: tags,
Size: size,
Metadata: nil,
Driver: i.GraphDriverName(),
Expand Down
4 changes: 4 additions & 0 deletions daemon/images/image.go
Original file line number Diff line number Diff line change
Expand Up @@ -173,10 +173,14 @@ func (i *ImageService) GetImage(ctx context.Context, refOrID string, options ima
}

lastUpdated, err := i.imageStore.GetLastUpdated(img.ID())

references := i.referenceStore.References(img.ID().Digest())

if err != nil {
return nil, err
}
img.Details = &image.Details{
References: references,
Size: size,
Metadata: layerMetadata,
Driver: i.layerStore.DriverName(),
Expand Down
2 changes: 2 additions & 0 deletions image/image.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import (
"strings"
"time"

"github.com/docker/distribution/reference"
"github.com/docker/docker/api/types/container"
"github.com/docker/docker/dockerversion"
"github.com/docker/docker/layer"
Expand Down Expand Up @@ -119,6 +120,7 @@ type Image struct {

// Details provides additional image data
type Details struct {
References []reference.Named
Size int64
Metadata map[string]string
Driver string
Expand Down

0 comments on commit f0464e4

Please sign in to comment.