aboutsummaryrefslogtreecommitdiff
path: root/cmd/podman/create.go
diff options
context:
space:
mode:
authorOpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com>2019-03-08 08:22:55 -0800
committerGitHub <noreply@github.com>2019-03-08 08:22:55 -0800
commitc4815e8a618cb7824f0a8e8c84771c69ed2a8943 (patch)
treed48f163005a338b4c4a876e507c02f0790557a5d /cmd/podman/create.go
parent90319bcf5202bb54e6e6bf59e4b887fa462e4714 (diff)
parent081291c8d62b989373149973c1ce0fad0fe7fea1 (diff)
downloadpodman-c4815e8a618cb7824f0a8e8c84771c69ed2a8943.tar.gz
podman-c4815e8a618cb7824f0a8e8c84771c69ed2a8943.tar.bz2
podman-c4815e8a618cb7824f0a8e8c84771c69ed2a8943.zip
Merge pull request #2569 from giuseppe/rootless-fix-exec-with-user
rootless: exec join the user+mount namespace
Diffstat (limited to 'cmd/podman/create.go')
-rw-r--r--cmd/podman/create.go11
1 files changed, 10 insertions, 1 deletions
diff --git a/cmd/podman/create.go b/cmd/podman/create.go
index fa8b9f57b..8a5d0cf73 100644
--- a/cmd/podman/create.go
+++ b/cmd/podman/create.go
@@ -893,7 +893,16 @@ func joinOrCreateRootlessUserNamespace(createConfig *cc.CreateConfig, runtime *l
}
return false, -1, errors.Errorf("dependency container %s is not running", ctr.ID())
}
- return rootless.JoinNS(uint(pid), 0)
+
+ data, err := ioutil.ReadFile(ctr.Config().ConmonPidFile)
+ if err != nil {
+ return false, -1, errors.Wrapf(err, "cannot read conmon PID file %q", ctr.Config().ConmonPidFile)
+ }
+ conmonPid, err := strconv.Atoi(string(data))
+ if err != nil {
+ return false, -1, errors.Wrapf(err, "cannot parse PID %q", data)
+ }
+ return rootless.JoinDirectUserAndMountNS(uint(conmonPid))
}
}
return rootless.BecomeRootInUserNS()