start_unix.go 761 B

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