зеркало из https://github.com/microsoft/docker.git
28 строки
648 B
Go
28 строки
648 B
Go
package daemon
|
|
|
|
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/runtime-spec/specs-go"
|
|
)
|
|
|
|
func execSetPlatformOpt(c *container.Container, ec *exec.Config, p *libcontainerd.Process) error {
|
|
if len(ec.User) > 0 {
|
|
uid, gid, additionalGids, err := getUser(c, ec.User)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
p.User = &specs.User{
|
|
UID: uid,
|
|
GID: gid,
|
|
AdditionalGids: additionalGids,
|
|
}
|
|
}
|
|
if ec.Privileged {
|
|
p.Capabilities = caps.GetAllCapabilities()
|
|
}
|
|
return nil
|
|
}
|