summaryrefslogtreecommitdiff
path: root/daemon/exec_linux.go
diff options
context:
space:
mode:
authorKenfe-Mickael Laventure <mickael.laventure@gmail.com>2017-09-22 06:52:41 -0700
committerKenfe-Mickael Laventure <mickael.laventure@gmail.com>2017-10-20 07:11:37 -0700
commitddae20c032058a0fd42c34c2e9750ee8f6296ac8 (patch)
tree259188c655005657f8ef3b5dd11f256aca8ba88f /daemon/exec_linux.go
parent7acea2a243d25c061d12a2a2f8bbd4e5955a85f4 (diff)
downloaddocker-ddae20c032058a0fd42c34c2e9750ee8f6296ac8.tar.gz
Update libcontainerd to use containerd 1.0
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
Diffstat (limited to 'daemon/exec_linux.go')
-rw-r--r--daemon/exec_linux.go14
1 files changed, 10 insertions, 4 deletions
diff --git a/daemon/exec_linux.go b/daemon/exec_linux.go
index bb11c11e44..525ce01050 100644
--- a/daemon/exec_linux.go
+++ b/daemon/exec_linux.go
@@ -4,25 +4,30 @@ import (
"github.com/docker/docker/container"
"github.com/docker/docker/daemon/caps"
"github.com/docker/docker/daemon/exec"
- "github.com/docker/docker/libcontainerd"
"github.com/opencontainers/runc/libcontainer/apparmor"
"github.com/opencontainers/runtime-spec/specs-go"
)
-func execSetPlatformOpt(c *container.Container, ec *exec.Config, p *libcontainerd.Process) error {
+func (daemon *Daemon) execSetPlatformOpt(c *container.Container, ec *exec.Config, p *specs.Process) error {
if len(ec.User) > 0 {
uid, gid, additionalGids, err := getUser(c, ec.User)
if err != nil {
return err
}
- p.User = &specs.User{
+ p.User = specs.User{
UID: uid,
GID: gid,
AdditionalGids: additionalGids,
}
}
if ec.Privileged {
- p.Capabilities = caps.GetAllCapabilities()
+ if p.Capabilities == nil {
+ p.Capabilities = &specs.LinuxCapabilities{}
+ }
+ p.Capabilities.Bounding = caps.GetAllCapabilities()
+ p.Capabilities.Permitted = p.Capabilities.Bounding
+ p.Capabilities.Inheritable = p.Capabilities.Bounding
+ p.Capabilities.Effective = p.Capabilities.Bounding
}
if apparmor.IsEnabled() {
var appArmorProfile string
@@ -46,5 +51,6 @@ func execSetPlatformOpt(c *container.Container, ec *exec.Config, p *libcontainer
}
}
}
+ daemon.setRlimits(&specs.Spec{Process: p}, c)
return nil
}