daemon/start_unix.go
934328d8
 // +build !windows
 
7b2e5216
 package daemon
 
 import (
 	"fmt"
 
 	"github.com/docker/docker/container"
 	"github.com/docker/docker/libcontainerd"
 )
 
606a245d
 func (daemon *Daemon) getLibcontainerdCreateOptions(container *container.Container) ([]libcontainerd.CreateOption, error) {
7b2e5216
 	createOptions := []libcontainerd.CreateOption{}
 
d7ceda4e
 	// Ensure a runtime has been assigned to this container
 	if container.HostConfig.Runtime == "" {
9391a822
 		container.HostConfig.Runtime = daemon.configStore.GetDefaultRuntimeName()
d7ceda4e
 		container.ToDisk()
 	}
 
7b2e5216
 	rt := daemon.configStore.GetRuntime(container.HostConfig.Runtime)
 	if rt == nil {
d7ceda4e
 		return nil, fmt.Errorf("no such runtime '%s'", container.HostConfig.Runtime)
7b2e5216
 	}
7f88fca4
 	if UsingSystemd(daemon.configStore) {
 		rt.Args = append(rt.Args, "--systemd-cgroup=true")
 	}
7b2e5216
 	createOptions = append(createOptions, libcontainerd.WithRuntime(rt.Path, rt.Args))
 
606a245d
 	return createOptions, nil
7b2e5216
 }