'docker inspect' can be used on images and containers

This commit is contained in:
Solomon Hykes 2013-01-28 23:22:45 -08:00
parent 49da84d7c4
commit 1b898574cf

View file

@ -200,21 +200,26 @@ func (srv *Server) CmdInspect(stdin io.ReadCloser, stdout io.Writer, args ...str
return nil
}
name := cmd.Arg(0)
var obj interface{}
if container := srv.containers.Get(name); container != nil {
data, err := json.Marshal(container)
if err != nil {
return err
}
indented := new(bytes.Buffer)
if err = json.Indent(indented, data, "", " "); err != nil {
return err
}
if _, err := io.Copy(stdout, indented); err != nil {
return err
}
return nil
obj = container
} else if image := srv.images.Find(name); image != nil {
obj = image
} else {
return errors.New("No such container or image: " + name)
}
return errors.New("No such container: " + name)
data, err := json.Marshal(obj)
if err != nil {
return err
}
indented := new(bytes.Buffer)
if err = json.Indent(indented, data, "", " "); err != nil {
return err
}
if _, err := io.Copy(stdout, indented); err != nil {
return err
}
return nil
}
func (srv *Server) CmdRm(stdin io.ReadCloser, stdout io.Writer, args ...string) error {