mirror of
https://github.com/docker/cli.git
synced 2026-09-08 10:05:45 -05:00
Merge pull request #4466 from alexlarsson/execdrivers
Move execdriver construction into execdriver/execdrivers Upstream-commit: 7654bac4427f589a3b1b7ad18307ccd0b8479f8c Component: engine
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
package execdrivers
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"github.com/dotcloud/docker/execdriver"
|
||||
"github.com/dotcloud/docker/execdriver/lxc"
|
||||
"github.com/dotcloud/docker/execdriver/native"
|
||||
"github.com/dotcloud/docker/pkg/sysinfo"
|
||||
"path"
|
||||
)
|
||||
|
||||
func NewDriver(name, root string, sysInfo *sysinfo.SysInfo) (execdriver.Driver, error) {
|
||||
switch name {
|
||||
case "lxc":
|
||||
// we want to five the lxc driver the full docker root because it needs
|
||||
// to access and write config and template files in /var/lib/docker/containers/*
|
||||
// to be backwards compatible
|
||||
return lxc.NewDriver(root, sysInfo.AppArmor)
|
||||
case "native":
|
||||
return native.NewDriver(path.Join(root, "execdriver", "native"))
|
||||
}
|
||||
return nil, fmt.Errorf("unknown exec driver %s", name)
|
||||
}
|
||||
@@ -8,8 +8,8 @@ import (
|
||||
"github.com/dotcloud/docker/dockerversion"
|
||||
"github.com/dotcloud/docker/engine"
|
||||
"github.com/dotcloud/docker/execdriver"
|
||||
"github.com/dotcloud/docker/execdriver/execdrivers"
|
||||
"github.com/dotcloud/docker/execdriver/lxc"
|
||||
"github.com/dotcloud/docker/execdriver/native"
|
||||
"github.com/dotcloud/docker/graph"
|
||||
"github.com/dotcloud/docker/graphdriver"
|
||||
"github.com/dotcloud/docker/graphdriver/aufs"
|
||||
@@ -732,22 +732,8 @@ func NewRuntimeFromDirectory(config *daemonconfig.Config, eng *engine.Engine) (*
|
||||
sysInitPath = localCopy
|
||||
}
|
||||
|
||||
var (
|
||||
ed execdriver.Driver
|
||||
sysInfo = sysinfo.New(false)
|
||||
)
|
||||
|
||||
switch config.ExecDriver {
|
||||
case "lxc":
|
||||
// we want to five the lxc driver the full docker root because it needs
|
||||
// to access and write config and template files in /var/lib/docker/containers/*
|
||||
// to be backwards compatible
|
||||
ed, err = lxc.NewDriver(config.Root, sysInfo.AppArmor)
|
||||
case "native":
|
||||
ed, err = native.NewDriver(path.Join(config.Root, "execdriver", "native"))
|
||||
default:
|
||||
return nil, fmt.Errorf("unknown exec driver %s", config.ExecDriver)
|
||||
}
|
||||
sysInfo := sysinfo.New(false)
|
||||
ed, err := execdrivers.NewDriver(config.ExecDriver, config.Root, sysInfo)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user