fallback to interface with docker inspect

Signed-off-by: Victor Vieux <victorvieux@gmail.com>
This commit is contained in:
Victor Vieux 2015-05-11 17:39:21 -07:00
parent c49695f976
commit 52c3bb6a0e
1 changed files with 18 additions and 4 deletions

View File

@ -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'})