resize.go 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. package daemon
  2. import (
  3. "strconv"
  4. "github.com/docker/docker/engine"
  5. )
  6. func (daemon *Daemon) ContainerResize(job *engine.Job) engine.Status {
  7. if len(job.Args) != 3 {
  8. return job.Errorf("Not enough arguments. Usage: %s CONTAINER HEIGHT WIDTH\n", job.Name)
  9. }
  10. name := job.Args[0]
  11. height, err := strconv.Atoi(job.Args[1])
  12. if err != nil {
  13. return job.Error(err)
  14. }
  15. width, err := strconv.Atoi(job.Args[2])
  16. if err != nil {
  17. return job.Error(err)
  18. }
  19. if container := daemon.Get(name); container != nil {
  20. if err := container.Resize(height, width); err != nil {
  21. return job.Error(err)
  22. }
  23. return engine.StatusOK
  24. }
  25. return job.Errorf("No such container: %s", name)
  26. }
  27. func (daemon *Daemon) ContainerExecResize(job *engine.Job) engine.Status {
  28. if len(job.Args) != 3 {
  29. return job.Errorf("Not enough arguments. Usage: %s EXEC HEIGHT WIDTH\n", job.Name)
  30. }
  31. name := job.Args[0]
  32. height, err := strconv.Atoi(job.Args[1])
  33. if err != nil {
  34. return job.Error(err)
  35. }
  36. width, err := strconv.Atoi(job.Args[2])
  37. if err != nil {
  38. return job.Error(err)
  39. }
  40. execConfig, err := daemon.getExecConfig(name)
  41. if err != nil {
  42. return job.Error(err)
  43. }
  44. if err := execConfig.Resize(height, width); err != nil {
  45. return job.Error(err)
  46. }
  47. return engine.StatusOK
  48. }