Skip to content

Commit bba8e28

Browse files
committed
Merge pull request #923 from nubs/master
Add support for shm_size.
2 parents 084f758 + fca622c commit bba8e28

File tree

3 files changed

+17
-1
lines changed

3 files changed

+17
-1
lines changed

docker/utils/utils.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -556,7 +556,8 @@ def create_host_config(binds=None, port_bindings=None, lxc_conf=None,
556556
security_opt=None, ulimits=None, log_config=None,
557557
mem_limit=None, memswap_limit=None, mem_swappiness=None,
558558
cgroup_parent=None, group_add=None, cpu_quota=None,
559-
cpu_period=None, oom_kill_disable=False, version=None):
559+
cpu_period=None, oom_kill_disable=False, shm_size=None,
560+
version=None):
560561

561562
host_config = {}
562563

@@ -589,6 +590,12 @@ def create_host_config(binds=None, port_bindings=None, lxc_conf=None,
589590

590591
host_config['MemorySwappiness'] = mem_swappiness
591592

593+
if shm_size is not None:
594+
if isinstance(shm_size, six.string_types):
595+
shm_size = parse_bytes(shm_size)
596+
597+
host_config['ShmSize'] = shm_size
598+
592599
if pid_mode not in (None, 'host'):
593600
raise host_config_value_error('pid_mode', pid_mode)
594601
elif pid_mode:

docs/hostconfig.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,7 @@ for example:
103103
allowed to consume.
104104
* mem_swappiness (int): Tune a container's memory swappiness behavior.
105105
Accepts number between 0 and 100.
106+
* shm_size (str or int): Size of /dev/shm. (e.g. `'1G'`)
106107
* cpu_group (int): The length of a CPU period in microseconds.
107108
* cpu_period (int): Microseconds of CPU time that the container can get in a
108109
CPU period.

tests/unit/utils_test.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,14 @@ def test_create_host_config_with_cpu_period(self):
6464
config = create_host_config(version='1.20', cpu_period=1999)
6565
self.assertEqual(config.get('CpuPeriod'), 1999)
6666

67+
def test_create_host_config_with_shm_size(self):
68+
config = create_host_config(version='1.22', shm_size=67108864)
69+
self.assertEqual(config.get('ShmSize'), 67108864)
70+
71+
def test_create_host_config_with_shm_size_in_mb(self):
72+
config = create_host_config(version='1.22', shm_size='64M')
73+
self.assertEqual(config.get('ShmSize'), 67108864)
74+
6775
def test_create_host_config_with_oom_kill_disable(self):
6876
config = create_host_config(version='1.20', oom_kill_disable=True)
6977
self.assertEqual(config.get('OomKillDisable'), True)

0 commit comments

Comments
 (0)