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  }