start_linux.go 744 B

1234567891011121314151617181920212223242526
  1. package daemon
  2. import (
  3. "fmt"
  4. "github.com/docker/docker/container"
  5. "github.com/docker/docker/libcontainerd"
  6. )
  7. func (daemon *Daemon) getLibcontainerdCreateOptions(container *container.Container) (*[]libcontainerd.CreateOption, error) {
  8. createOptions := []libcontainerd.CreateOption{}
  9. // Ensure a runtime has been assigned to this container
  10. if container.HostConfig.Runtime == "" {
  11. container.HostConfig.Runtime = stockRuntimeName
  12. container.ToDisk()
  13. }
  14. rt := daemon.configStore.GetRuntime(container.HostConfig.Runtime)
  15. if rt == nil {
  16. return nil, fmt.Errorf("no such runtime '%s'", container.HostConfig.Runtime)
  17. }
  18. createOptions = append(createOptions, libcontainerd.WithRuntime(rt.Path, rt.Args))
  19. return &createOptions, nil
  20. }