mirror of https://github.com/docker/compose.git
Merge pull request #4216 from lawliet89/userns_mode
Implement `userns_mode` HostConfig for services
This commit is contained in:
commit
e6b2949edc
|
@ -88,6 +88,7 @@ DOCKER_CONFIG_KEYS = [
|
||||||
'stop_signal',
|
'stop_signal',
|
||||||
'tty',
|
'tty',
|
||||||
'user',
|
'user',
|
||||||
|
'userns_mode',
|
||||||
'volume_driver',
|
'volume_driver',
|
||||||
'volumes',
|
'volumes',
|
||||||
'volumes_from',
|
'volumes_from',
|
||||||
|
|
|
@ -217,6 +217,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"user": {"type": "string"},
|
"user": {"type": "string"},
|
||||||
|
"userns_mode": {"type": "string"},
|
||||||
"volumes": {"type": "array", "items": {"type": "string"}, "uniqueItems": true},
|
"volumes": {"type": "array", "items": {"type": "string"}, "uniqueItems": true},
|
||||||
"volume_driver": {"type": "string"},
|
"volume_driver": {"type": "string"},
|
||||||
"volumes_from": {"type": "array", "items": {"type": "string"}, "uniqueItems": true},
|
"volumes_from": {"type": "array", "items": {"type": "string"}, "uniqueItems": true},
|
||||||
|
|
|
@ -192,6 +192,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"user": {"type": "string"},
|
"user": {"type": "string"},
|
||||||
|
"userns_mode": {"type": "string"},
|
||||||
"volumes": {"type": "array", "items": {"type": "string"}, "uniqueItems": true},
|
"volumes": {"type": "array", "items": {"type": "string"}, "uniqueItems": true},
|
||||||
"working_dir": {"type": "string"}
|
"working_dir": {"type": "string"}
|
||||||
},
|
},
|
||||||
|
|
|
@ -64,6 +64,7 @@ DOCKER_START_KEYS = [
|
||||||
'restart',
|
'restart',
|
||||||
'security_opt',
|
'security_opt',
|
||||||
'shm_size',
|
'shm_size',
|
||||||
|
'userns_mode',
|
||||||
'volumes_from',
|
'volumes_from',
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -720,7 +721,8 @@ class Service(object):
|
||||||
tmpfs=options.get('tmpfs'),
|
tmpfs=options.get('tmpfs'),
|
||||||
oom_score_adj=options.get('oom_score_adj'),
|
oom_score_adj=options.get('oom_score_adj'),
|
||||||
mem_swappiness=options.get('mem_swappiness'),
|
mem_swappiness=options.get('mem_swappiness'),
|
||||||
group_add=options.get('group_add')
|
group_add=options.get('group_add'),
|
||||||
|
userns_mode=options.get('userns_mode')
|
||||||
)
|
)
|
||||||
|
|
||||||
# TODO: Add as an argument to create_host_config once it's supported
|
# TODO: Add as an argument to create_host_config once it's supported
|
||||||
|
|
|
@ -30,6 +30,7 @@ from compose.service import ConvergencePlan
|
||||||
from compose.service import ConvergenceStrategy
|
from compose.service import ConvergenceStrategy
|
||||||
from compose.service import NetworkMode
|
from compose.service import NetworkMode
|
||||||
from compose.service import Service
|
from compose.service import Service
|
||||||
|
from tests.integration.testcases import v2_1_only
|
||||||
from tests.integration.testcases import v2_only
|
from tests.integration.testcases import v2_only
|
||||||
|
|
||||||
|
|
||||||
|
@ -842,6 +843,18 @@ class ServiceTest(DockerClientTestCase):
|
||||||
container = create_and_start_container(service)
|
container = create_and_start_container(service)
|
||||||
self.assertEqual(container.get('HostConfig.PidMode'), 'host')
|
self.assertEqual(container.get('HostConfig.PidMode'), 'host')
|
||||||
|
|
||||||
|
@v2_1_only()
|
||||||
|
def test_userns_mode_none_defined(self):
|
||||||
|
service = self.create_service('web', userns_mode=None)
|
||||||
|
container = create_and_start_container(service)
|
||||||
|
self.assertEqual(container.get('HostConfig.UsernsMode'), '')
|
||||||
|
|
||||||
|
@v2_1_only()
|
||||||
|
def test_userns_mode_host(self):
|
||||||
|
service = self.create_service('web', userns_mode='host')
|
||||||
|
container = create_and_start_container(service)
|
||||||
|
self.assertEqual(container.get('HostConfig.UsernsMode'), 'host')
|
||||||
|
|
||||||
def test_dns_no_value(self):
|
def test_dns_no_value(self):
|
||||||
service = self.create_service('web')
|
service = self.create_service('web')
|
||||||
container = create_and_start_container(service)
|
container = create_and_start_container(service)
|
||||||
|
|
Loading…
Reference in New Issue