It was noted[1] that container's HostConfig.ShmSize, if not set, should be
initialized to daemon default value during container creation.
In fact, it is already done in daemon.adaptContainerSettings, so we can use
value from container.HostConfig directly.
[1] https://github.com/moby/moby/pull/34087#discussion_r128656429
Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
... | ... |
@@ -120,11 +120,7 @@ func (daemon *Daemon) setupIpcDirs(c *container.Container) error { |
120 | 120 |
return err |
121 | 121 |
} |
122 | 122 |
|
123 |
- shmSize := int64(daemon.configStore.ShmSize) |
|
124 |
- if c.HostConfig.ShmSize != 0 { |
|
125 |
- shmSize = c.HostConfig.ShmSize |
|
126 |
- } |
|
127 |
- shmproperty := "mode=1777,size=" + strconv.FormatInt(shmSize, 10) |
|
123 |
+ shmproperty := "mode=1777,size=" + strconv.FormatInt(c.HostConfig.ShmSize, 10) |
|
128 | 124 |
if err := unix.Mount("shm", shmPath, "tmpfs", uintptr(unix.MS_NOEXEC|unix.MS_NOSUID|unix.MS_NODEV), label.FormatMountLabel(shmproperty, c.GetMountLabel())); err != nil { |
129 | 125 |
return fmt.Errorf("mounting shm tmpfs: %s", err) |
130 | 126 |
} |