From 52c3bb6a0ec35f34550944b8895d7727301791c9 Mon Sep 17 00:00:00 2001 From: Victor Vieux Date: Mon, 11 May 2015 17:39:21 -0700 Subject: [PATCH] fallback to interface with docker inspect Signed-off-by: Victor Vieux --- api/client/inspect.go | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/api/client/inspect.go b/api/client/inspect.go index 8d9c086101..eb8565b823 100644 --- a/api/client/inspect.go +++ b/api/client/inspect.go @@ -59,7 +59,8 @@ func (cli *DockerCli) CmdInspect(args ...string) error { continue } } else { - dec := json.NewDecoder(bytes.NewReader(obj)) + rdr := bytes.NewReader(obj) + dec := json.NewDecoder(rdr) if isImage { inspPtr := types.ImageInspect{} @@ -69,7 +70,14 @@ func (cli *DockerCli) CmdInspect(args ...string) error { continue } if err := tmpl.Execute(cli.out, inspPtr); err != nil { - return err + rdr.Seek(0, 0) + var raw interface{} + if err := dec.Decode(&raw); err != nil { + return err + } + if err = tmpl.Execute(cli.out, raw); err != nil { + return err + } } } else { inspPtr := types.ContainerJSON{} @@ -79,8 +87,14 @@ func (cli *DockerCli) CmdInspect(args ...string) error { continue } if err := tmpl.Execute(cli.out, inspPtr); err != nil { - return err - + rdr.Seek(0, 0) + var raw interface{} + if err := dec.Decode(&raw); err != nil { + return err + } + if err = tmpl.Execute(cli.out, raw); err != nil { + return err + } } } cli.out.Write([]byte{'\n'})