diff --git a/linux_container.go b/linux_container.go index 9189be2e2..7845f8dbe 100644 --- a/linux_container.go +++ b/linux_container.go @@ -133,8 +133,6 @@ func (c *linuxContainer) updateStateFile() error { } func (c *linuxContainer) startInitProcess(cmd *exec.Cmd, config *ProcessConfig) error { - cmd.SysProcAttr.Cloneflags = uintptr(namespaces.GetNamespaceFlags(c.config.Namespaces)) - err := namespaces.Exec(config.Args, config.Env, cmd, c.config, c.state) if err != nil { return err diff --git a/namespaces/exec.go b/namespaces/exec.go index 0822154de..1d7914a0d 100644 --- a/namespaces/exec.go +++ b/namespaces/exec.go @@ -31,9 +31,10 @@ func Exec(args []string, env []string, command *exec.Cmd, container *configs.Con return err } defer parent.Close() - command.ExtraFiles = []*os.File{child} + command.Dir = container.RootFs + command.SysProcAttr.Cloneflags = uintptr(GetNamespaceFlags(container.Namespaces)) if err := command.Start(); err != nil { child.Close()