@@ -17,7 +17,6 @@ import (
1717 "github.com/docker/docker/api/types/versions"
1818 "github.com/docker/docker/errdefs"
1919 "github.com/docker/docker/image"
20- "github.com/docker/docker/layer"
2120 "github.com/docker/docker/pkg/ioutils"
2221 "github.com/docker/docker/pkg/streamformatter"
2322 specs "github.com/opencontainers/image-spec/specs-go/v1"
@@ -193,7 +192,7 @@ func (ir *imageRouter) deleteImages(ctx context.Context, w http.ResponseWriter,
193192}
194193
195194func (ir * imageRouter ) getImagesByName (ctx context.Context , w http.ResponseWriter , r * http.Request , vars map [string ]string ) error {
196- img , err := ir .backend .GetImage (ctx , vars ["name" ], opts.GetImageOpts {})
195+ img , err := ir .backend .GetImage (ctx , vars ["name" ], opts.GetImageOpts {Details : true })
197196 if err != nil {
198197 return err
199198 }
@@ -218,31 +217,11 @@ func (ir *imageRouter) toImageInspect(img *image.Image) (*types.ImageInspect, er
218217 }
219218 }
220219
221- var size int64
222- var layerMetadata map [string ]string
223- if layerID := img .RootFS .ChainID (); layerID != "" {
224- l , err := ir .layerStore .Get (layerID )
225- if err != nil {
226- return nil , err
227- }
228- defer layer .ReleaseAndLog (ir .layerStore , l )
229- size = l .Size ()
230- layerMetadata , err = l .Metadata ()
231- if err != nil {
232- return nil , err
233- }
234- }
235-
236220 comment := img .Comment
237221 if len (comment ) == 0 && len (img .History ) > 0 {
238222 comment = img .History [len (img .History )- 1 ].Comment
239223 }
240224
241- lastUpdated , err := ir .imageStore .GetLastUpdated (img .ID ())
242- if err != nil {
243- return nil , err
244- }
245-
246225 return & types.ImageInspect {
247226 ID : img .ID ().String (),
248227 RepoTags : repoTags ,
@@ -259,15 +238,15 @@ func (ir *imageRouter) toImageInspect(img *image.Image) (*types.ImageInspect, er
259238 Variant : img .Variant ,
260239 Os : img .OperatingSystem (),
261240 OsVersion : img .OSVersion ,
262- Size : size ,
263- VirtualSize : size , // TODO: field unused, deprecate
241+ Size : img . Details . Size ,
242+ VirtualSize : img . Details . Size , // TODO: field unused, deprecate
264243 GraphDriver : types.GraphDriverData {
265- Name : ir . layerStore . DriverName () ,
266- Data : layerMetadata ,
244+ Name : img . Details . Driver ,
245+ Data : img . Details . Metadata ,
267246 },
268247 RootFS : rootFSToAPIType (img .RootFS ),
269248 Metadata : types.ImageMetadata {
270- LastTagTime : lastUpdated ,
249+ LastTagTime : img . Details . LastUpdated ,
271250 },
272251 }, nil
273252}
0 commit comments