exec_linux.go 648 B

123456789101112131415161718192021222324252627
  1. package daemon
  2. import (
  3. "github.com/docker/docker/container"
  4. "github.com/docker/docker/daemon/caps"
  5. "github.com/docker/docker/daemon/exec"
  6. "github.com/docker/docker/libcontainerd"
  7. "github.com/opencontainers/runtime-spec/specs-go"
  8. )
  9. func execSetPlatformOpt(c *container.Container, ec *exec.Config, p *libcontainerd.Process) error {
  10. if len(ec.User) > 0 {
  11. uid, gid, additionalGids, err := getUser(c, ec.User)
  12. if err != nil {
  13. return err
  14. }
  15. p.User = &specs.User{
  16. UID: uid,
  17. GID: gid,
  18. AdditionalGids: additionalGids,
  19. }
  20. }
  21. if ec.Privileged {
  22. p.Capabilities = caps.GetAllCapabilities()
  23. }
  24. return nil
  25. }