start_unix.go 745 B

1234567891011121314151617181920212223
  1. //go:build !windows
  2. package daemon // import "github.com/docker/docker/daemon"
  3. import (
  4. "github.com/docker/docker/container"
  5. )
  6. // getLibcontainerdCreateOptions callers must hold a lock on the container
  7. func (daemon *Daemon) getLibcontainerdCreateOptions(daemonCfg *configStore, container *container.Container) (string, interface{}, error) {
  8. // Ensure a runtime has been assigned to this container
  9. if container.HostConfig.Runtime == "" {
  10. container.HostConfig.Runtime = daemonCfg.Runtimes.Default
  11. container.CheckpointTo(daemon.containersReplica)
  12. }
  13. shim, opts, err := daemonCfg.Runtimes.Get(container.HostConfig.Runtime)
  14. if err != nil {
  15. return "", nil, setExitCodeFromError(container.SetExitCode, err)
  16. }
  17. return shim, opts, nil
  18. }