github.com/kim0/docker@v0.6.2-0.20161130212042-4addda3f07e7/daemon/start_linux.go (about) 1 package daemon 2 3 import ( 4 "fmt" 5 6 "github.com/docker/docker/container" 7 "github.com/docker/docker/libcontainerd" 8 ) 9 10 func (daemon *Daemon) getLibcontainerdCreateOptions(container *container.Container) ([]libcontainerd.CreateOption, error) { 11 createOptions := []libcontainerd.CreateOption{} 12 13 // Ensure a runtime has been assigned to this container 14 if container.HostConfig.Runtime == "" { 15 container.HostConfig.Runtime = stockRuntimeName 16 container.ToDisk() 17 } 18 19 rt := daemon.configStore.GetRuntime(container.HostConfig.Runtime) 20 if rt == nil { 21 return nil, fmt.Errorf("no such runtime '%s'", container.HostConfig.Runtime) 22 } 23 if UsingSystemd(daemon.configStore) { 24 rt.Args = append(rt.Args, "--systemd-cgroup=true") 25 } 26 createOptions = append(createOptions, libcontainerd.WithRuntime(rt.Path, rt.Args)) 27 28 return createOptions, nil 29 }