diff options
author | Daniel J Walsh <dwalsh@redhat.com> | 2018-09-13 17:33:07 -0400 |
---|---|---|
committer | Atomic Bot <atomic-devel@projectatomic.io> | 2018-09-21 19:06:12 +0000 |
commit | 09f506930c1c585b12e9ad89044528da23d2851a (patch) | |
tree | 54494746c618a4597d4c2a57299879565b1aaa6c | |
parent | 4f42fe2e9e35a01181031ddca07c044647d7bf04 (diff) | |
download | podman-09f506930c1c585b12e9ad89044528da23d2851a.tar.gz podman-09f506930c1c585b12e9ad89044528da23d2851a.tar.bz2 podman-09f506930c1c585b12e9ad89044528da23d2851a.zip |
Don't mount /dev/shm if the user told you --ipc=none
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
Closes: #1466
Approved by: mheon
-rw-r--r-- | cmd/podman/create.go | 12 | ||||
-rw-r--r-- | pkg/spec/createconfig.go | 14 | ||||
-rw-r--r-- | pkg/varlinkapi/containers_create.go | 1 |
3 files changed, 11 insertions, 16 deletions
diff --git a/cmd/podman/create.go b/cmd/podman/create.go index 39f6076b9..ff912560b 100644 --- a/cmd/podman/create.go +++ b/cmd/podman/create.go @@ -528,17 +528,6 @@ func parseCreateOpts(ctx context.Context, c *cli.Context, runtime *libpod.Runtim } } - shmDir := "" - if ipcMode.IsHost() { - shmDir = "/dev/shm" - } else if ipcMode.IsContainer() { - ctr, err := runtime.LookupContainer(ipcMode.Container()) - if err != nil { - return nil, errors.Wrapf(err, "container %q not found", ipcMode.Container()) - } - shmDir = ctr.ShmDir() - } - // USER user := c.String("user") if user == "" { @@ -775,7 +764,6 @@ func parseCreateOpts(ctx context.Context, c *cli.Context, runtime *libpod.Runtim Ulimit: c.StringSlice("ulimit"), }, Rm: c.Bool("rm"), - ShmDir: shmDir, StopSignal: stopSignal, StopTimeout: c.Uint("stop-timeout"), Sysctl: sysctl, diff --git a/pkg/spec/createconfig.go b/pkg/spec/createconfig.go index 518ea5731..a9c7d2967 100644 --- a/pkg/spec/createconfig.go +++ b/pkg/spec/createconfig.go @@ -112,8 +112,7 @@ type CreateConfig struct { Quiet bool //quiet ReadOnlyRootfs bool //read-only Resources CreateResourceConfig - Rm bool //rm - ShmDir string + Rm bool //rm StopSignal syscall.Signal // stop-signal StopTimeout uint // stop-timeout Sysctl map[string]string //sysctl @@ -447,7 +446,16 @@ func (c *CreateConfig) GetContainerCreateOptions(runtime *libpod.Runtime) ([]lib options = append(options, libpod.WithConmonPidFile(c.ConmonPidFile)) options = append(options, libpod.WithLabels(c.Labels)) options = append(options, libpod.WithUser(c.User)) - options = append(options, libpod.WithShmDir(c.ShmDir)) + if c.IpcMode.IsHost() { + options = append(options, libpod.WithShmDir("/dev/shm")) + + } else if c.IpcMode.IsContainer() { + ctr, err := runtime.LookupContainer(c.IpcMode.Container()) + if err != nil { + return nil, errors.Wrapf(err, "container %q not found", c.IpcMode.Container()) + } + options = append(options, libpod.WithShmDir(ctr.ShmDir())) + } options = append(options, libpod.WithShmSize(c.Resources.ShmSize)) options = append(options, libpod.WithGroups(c.GroupAdd)) options = append(options, libpod.WithIDMappings(*c.IDMappings)) diff --git a/pkg/varlinkapi/containers_create.go b/pkg/varlinkapi/containers_create.go index 843d7a5ba..ca1a57048 100644 --- a/pkg/varlinkapi/containers_create.go +++ b/pkg/varlinkapi/containers_create.go @@ -202,7 +202,6 @@ func varlinkCreateToCreateConfig(ctx context.Context, create iopodman.Create, ru Ulimit: create.Resources.Ulimit, }, Rm: create.Rm, - ShmDir: create.Shm_dir, StopSignal: stopSignal, StopTimeout: uint(create.Stop_timeout), Sysctl: create.Sys_ctl, |