diff --git a/docker/docker.go b/docker/docker.go index 17449210c..a2d83bfa8 100644 --- a/docker/docker.go +++ b/docker/docker.go @@ -39,7 +39,7 @@ func main() { flDefaultIp = flag.String([]string{"#ip", "-ip"}, "0.0.0.0", "Default IP address to use when binding container ports") flInterContainerComm = flag.Bool([]string{"#icc", "-icc"}, true, "Enable inter-container communication") flGraphDriver = flag.String([]string{"s", "-storage-driver"}, "", "Force the docker runtime to use a specific storage driver") - flExecDriver = flag.String([]string{"e", "-exec-driver"}, "", "Force the docker runtime to use a specific exec driver") + flExecDriver = flag.String([]string{"e", "-exec-driver"}, "native", "Force the docker runtime to use a specific exec driver") flHosts = opts.NewListOpts(api.ValidateHost) flMtu = flag.Int([]string{"#mtu", "-mtu"}, 0, "Set the containers network MTU; if no value is provided: default to the default route MTU or 1500 if no default route is available") ) diff --git a/execdriver/docker/default_template.go b/execdriver/native/default_template.go similarity index 98% rename from execdriver/docker/default_template.go rename to execdriver/native/default_template.go index 4d6dd954c..f202fd252 100644 --- a/execdriver/docker/default_template.go +++ b/execdriver/native/default_template.go @@ -1,4 +1,4 @@ -package docker +package native import ( "github.com/dotcloud/docker/pkg/cgroups" diff --git a/execdriver/docker/driver.go b/execdriver/native/driver.go similarity index 99% rename from execdriver/docker/driver.go rename to execdriver/native/driver.go index 7b6d3474a..59cbe6740 100644 --- a/execdriver/docker/driver.go +++ b/execdriver/native/driver.go @@ -1,4 +1,4 @@ -package docker +package native import ( "encoding/json" diff --git a/execdriver/docker/term.go b/execdriver/native/term.go similarity index 97% rename from execdriver/docker/term.go rename to execdriver/native/term.go index 6705fc49e..b32a80e4d 100644 --- a/execdriver/docker/term.go +++ b/execdriver/native/term.go @@ -1,4 +1,4 @@ -package docker +package native import ( "github.com/dotcloud/docker/execdriver" diff --git a/runtime.go b/runtime.go index 6dc4476b8..1003c35d5 100644 --- a/runtime.go +++ b/runtime.go @@ -7,8 +7,8 @@ import ( "github.com/dotcloud/docker/dockerversion" "github.com/dotcloud/docker/engine" "github.com/dotcloud/docker/execdriver" - "github.com/dotcloud/docker/execdriver/docker" "github.com/dotcloud/docker/execdriver/lxc" + "github.com/dotcloud/docker/execdriver/native" "github.com/dotcloud/docker/graphdriver" "github.com/dotcloud/docker/graphdriver/aufs" _ "github.com/dotcloud/docker/graphdriver/btrfs" @@ -702,17 +702,18 @@ func NewRuntimeFromDirectory(config *DaemonConfig, eng *engine.Engine) (*Runtime sysInitPath = localCopy } - sysInfo := sysinfo.New(false) + var ( + ed execdriver.Driver + sysInfo = sysinfo.New(false) + ) - var ed execdriver.Driver - utils.Debugf("execDriver: provided %s", config.ExecDriver) - if config.ExecDriver == "chroot" && false { - // chroot is presently a noop driver https://github.com/dotcloud/docker/pull/4189#issuecomment-35330655 - ed, err = chroot.NewDriver() - utils.Debugf("execDriver: using chroot") - } else { + switch config.ExecDriver { + case "lxc": ed, err = lxc.NewDriver(config.Root, sysInfo.AppArmor) - utils.Debugf("execDriver: using lxc") + case "native": + ed, err = native.NewDriver(config.Root) + default: + return nil, fmt.Errorf("unknow exec driver %s", config.ExecDriver) } if err != nil { return nil, err diff --git a/sysinit/sysinit.go b/sysinit/sysinit.go index 056f03329..cd74e0c88 100644 --- a/sysinit/sysinit.go +++ b/sysinit/sysinit.go @@ -6,6 +6,7 @@ import ( "fmt" "github.com/dotcloud/docker/execdriver" _ "github.com/dotcloud/docker/execdriver/lxc" + _ "github.com/dotcloud/docker/execdriver/native" "io" "io/ioutil" "log"