mirror of
https://github.com/containers/podman.git
synced 2025-06-05 22:31:06 +08:00
volumes: allow more options for devpts
allow to pass down more options that are supported by the kernel. Discussion here: https://github.com/containers/toolbox/issues/568 Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
This commit is contained in:
@ -638,6 +638,16 @@ Current supported mount TYPEs are **bind**, **volume**, **image**, **tmpfs** and
|
||||
|
||||
. U, chown: true or false (default). Change recursively the owner and group of the source volume based on the UID and GID of the container.
|
||||
|
||||
Options specific to devpts:
|
||||
|
||||
· uid: UID of the file owner (default 0).
|
||||
|
||||
· gid: GID of the file owner (default 0).
|
||||
|
||||
· mode: permission mask for the file (default 600).
|
||||
|
||||
· max: maximum number of PTYs (default 1048576).
|
||||
|
||||
#### **--name**=*name*
|
||||
|
||||
Assign a name to the container
|
||||
|
@ -665,6 +665,16 @@ Current supported mount TYPEs are **bind**, **volume**, **image**, **tmpfs** and
|
||||
|
||||
. U, chown: true or false (default). Change recursively the owner and group of the source volume based on the UID and GID of the container.
|
||||
|
||||
Options specific to devpts:
|
||||
|
||||
· uid: UID of the file owner (default 0).
|
||||
|
||||
· gid: GID of the file owner (default 0).
|
||||
|
||||
· mode: permission mask for the file (default 600).
|
||||
|
||||
· max: maximum number of PTYs (default 1048576).
|
||||
|
||||
#### **--name**=*name*
|
||||
|
||||
Assign a name to the container.
|
||||
|
@ -483,6 +483,8 @@ func getDevptsMount(args []string) (spec.Mount, error) {
|
||||
for _, val := range args {
|
||||
kv := strings.SplitN(val, "=", 2)
|
||||
switch kv[0] {
|
||||
case "uid", "gid", "mode", "ptxmode", "newinstance", "max":
|
||||
newMount.Options = append(newMount.Options, val)
|
||||
case "target", "dst", "destination":
|
||||
if len(kv) == 1 {
|
||||
return newMount, errors.Wrapf(optionArgError, kv[0])
|
||||
|
@ -1198,6 +1198,14 @@ USER mail`, BB)
|
||||
Expect(session.OutputToString()).To(ContainSubstring("devpts"))
|
||||
})
|
||||
|
||||
It("podman run --mount type=devpts,target=/dev/pts with uid, gid and mode", func() {
|
||||
// runc doesn't seem to honor uid= so avoid testing it
|
||||
session := podmanTest.Podman([]string{"run", "-t", "--mount", "type=devpts,target=/dev/pts,uid=1000,gid=1001,mode=123", fedoraMinimal, "stat", "-c%g-%a", "/dev/pts/0"})
|
||||
session.WaitWithDefaultTimeout()
|
||||
Expect(session).Should(Exit(0))
|
||||
Expect(session.OutputToString()).To(ContainSubstring("1001-123"))
|
||||
})
|
||||
|
||||
It("podman run --pod automatically", func() {
|
||||
session := podmanTest.Podman([]string{"run", "-d", "--pod", "new:foobar", ALPINE, "nc", "-l", "-p", "8686"})
|
||||
session.WaitWithDefaultTimeout()
|
||||
|
Reference in New Issue
Block a user