inspect.go 741 B

123456789101112131415161718192021222324252627282930313233
  1. package server
  2. import (
  3. "fmt"
  4. "net/http"
  5. "github.com/docker/docker/pkg/version"
  6. )
  7. // getContainersByName inspects containers configuration and serializes it as json.
  8. func (s *Server) getContainersByName(version version.Version, w http.ResponseWriter, r *http.Request, vars map[string]string) error {
  9. if vars == nil {
  10. return fmt.Errorf("Missing parameter")
  11. }
  12. var json interface{}
  13. var err error
  14. switch {
  15. case version.LessThan("1.20"):
  16. json, err = s.daemon.ContainerInspectPre120(vars["name"])
  17. case version.Equal("1.20"):
  18. json, err = s.daemon.ContainerInspect120(vars["name"])
  19. default:
  20. json, err = s.daemon.ContainerInspect(vars["name"])
  21. }
  22. if err != nil {
  23. return err
  24. }
  25. return writeJSON(w, http.StatusOK, json)
  26. }