code: func (daemon *Daemon) ContainerRestart(name string, seconds *int) error {
  	container, err := daemon.GetContainer(name)
  	if err != nil {
  		return err
  	}
  	if seconds == nil {
  		stopTimeout := container.StopTimeout()
  		seconds = &stopTimeout
  	}
  	if err := daemon.containerRestart(container, *seconds); err != nil {
  		return fmt.Errorf("Cannot restart container %s: %v", name, err)
  	}
  	return nil
  
  }
docs: // ContainerRestart stops and starts a container. It attempts to
  // gracefully stop the container within the given timeout, forcefully
  // stopping it if the timeout is exceeded. If given a negative
  // timeout, ContainerRestart will wait forever until a graceful
  // stop. Returns an error if the container cannot be found, or if
  // there is an underlying error at any stage of the restart.