Add support for --pid=container:<id>
Signed-off-by: Mrunal Patel <mrunalp@gmail.com> Upstream-commit: fb43ef649bc6aa11ca19c0e046518e85e1c7e2fa Component: engine
This commit is contained in:
@ -296,8 +296,25 @@ func setNamespaces(daemon *Daemon, s *specs.Spec, c *container.Container) error
|
||||
setNamespace(s, ns)
|
||||
}
|
||||
// pid
|
||||
if c.HostConfig.PidMode.IsHost() {
|
||||
if c.HostConfig.PidMode.IsContainer() {
|
||||
ns := specs.Namespace{Type: "pid"}
|
||||
pc, err := daemon.getPidContainer(c)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
ns.Path = fmt.Sprintf("/proc/%d/ns/pid", pc.State.GetPID())
|
||||
setNamespace(s, ns)
|
||||
if userNS {
|
||||
// to share an PID namespace, they must also share a user namespace
|
||||
nsUser := specs.Namespace{Type: "user"}
|
||||
nsUser.Path = fmt.Sprintf("/proc/%d/ns/user", pc.State.GetPID())
|
||||
setNamespace(s, nsUser)
|
||||
}
|
||||
} else if c.HostConfig.PidMode.IsHost() {
|
||||
delNamespace(s, specs.NamespaceType("pid"))
|
||||
} else {
|
||||
ns := specs.Namespace{Type: "pid"}
|
||||
setNamespace(s, ns)
|
||||
}
|
||||
// uts
|
||||
if c.HostConfig.UTSMode.IsHost() {
|
||||
|
||||
Reference in New Issue
Block a user