restart.go 617 B

123456789101112131415161718192021222324252627
  1. package daemon
  2. import (
  3. "github.com/docker/docker/engine"
  4. )
  5. func (daemon *Daemon) ContainerRestart(job *engine.Job) engine.Status {
  6. if len(job.Args) != 1 {
  7. return job.Errorf("Usage: %s CONTAINER\n", job.Name)
  8. }
  9. var (
  10. name = job.Args[0]
  11. t = 10
  12. )
  13. if job.EnvExists("t") {
  14. t = job.GetenvInt("t")
  15. }
  16. if container := daemon.Get(name); container != nil {
  17. if err := container.Restart(int(t)); err != nil {
  18. return job.Errorf("Cannot restart container %s: %s\n", name, err)
  19. }
  20. container.LogEvent("restart")
  21. } else {
  22. return job.Errorf("No such container: %s\n", name)
  23. }
  24. return engine.StatusOK
  25. }