mirror of https://github.com/docker/docker-py.git
Add init_path parameter to container HostConfig
Signed-off-by: Tomasz Madycki <tomasz.madycki@gmail.com>
This commit is contained in:
parent
13b5f785a7
commit
8c6534d7be
|
|
@ -493,6 +493,7 @@ class ContainerCollection(Collection):
|
|||
hostname (str): Optional hostname for the container.
|
||||
init (bool): Run an init inside the container that forwards
|
||||
signals and reaps processes
|
||||
init_path (bool): Path to the docker-init binary
|
||||
ipc_mode (str): Set the IPC mode for the container.
|
||||
isolation (str): Isolation technology to use. Default: `None`.
|
||||
labels (dict or list): A dictionary of name-value labels (e.g.
|
||||
|
|
@ -817,6 +818,7 @@ RUN_HOST_CONFIG_KWARGS = [
|
|||
'extra_hosts',
|
||||
'group_add',
|
||||
'init',
|
||||
'init_path',
|
||||
'ipc_mode',
|
||||
'isolation',
|
||||
'kernel_memory',
|
||||
|
|
|
|||
|
|
@ -118,7 +118,7 @@ class HostConfig(dict):
|
|||
tmpfs=None, oom_score_adj=None, dns_opt=None, cpu_shares=None,
|
||||
cpuset_cpus=None, userns_mode=None, pids_limit=None,
|
||||
isolation=None, auto_remove=False, storage_opt=None,
|
||||
init=None):
|
||||
init=None, init_path=None):
|
||||
|
||||
if mem_limit is not None:
|
||||
self['Memory'] = parse_bytes(mem_limit)
|
||||
|
|
@ -423,6 +423,11 @@ class HostConfig(dict):
|
|||
raise host_config_version_error('init', '1.25')
|
||||
self['Init'] = init
|
||||
|
||||
if init_path:
|
||||
if version_lt(version, '1.25'):
|
||||
raise host_config_version_error('init', '1.25')
|
||||
self['InitPath'] = init_path
|
||||
|
||||
|
||||
def host_config_type_error(param, param_value, expected):
|
||||
error_msg = 'Invalid type for {0} param: expected {1} but found {2}'
|
||||
|
|
|
|||
|
|
@ -451,6 +451,18 @@ class CreateContainerTest(BaseAPIIntegrationTest):
|
|||
config = self.client.inspect_container(ctnr)
|
||||
assert config['HostConfig']['Init'] is True
|
||||
|
||||
@requires_api_version('1.25')
|
||||
def test_create_with_init_path(self):
|
||||
ctnr = self.client.create_container(
|
||||
BUSYBOX, 'true',
|
||||
host_config=self.client.create_host_config(
|
||||
init_path="/usr/libexec/docker-init"
|
||||
)
|
||||
)
|
||||
self.tmp_containers.append(ctnr['Id'])
|
||||
config = self.client.inspect_container(ctnr)
|
||||
assert config['HostConfig']['InitPath'] == "/usr/libexec/docker-init"
|
||||
|
||||
|
||||
class VolumeBindTest(BaseAPIIntegrationTest):
|
||||
def setUp(self):
|
||||
|
|
|
|||
Loading…
Reference in New Issue