Fix for #1815: make APIClient.stop honor container StopTimeout value

Signed-off-by: Damien Nadé <anvil.github@livna.org>
This commit is contained in:
Damien Nadé 2017-11-20 16:47:36 +01:00 committed by Damien Nadé
parent 1d6b5b2032
commit f3dbd017f8
1 changed files with 9 additions and 3 deletions

View File

@ -1112,20 +1112,26 @@ class ContainerApiMixin(object):
json=True)
@utils.check_resource('container')
def stop(self, container, timeout=10):
def stop(self, container, timeout=None):
"""
Stops a container. Similar to the ``docker stop`` command.
Args:
container (str): The container to stop
timeout (int): Timeout in seconds to wait for the container to
stop before sending a ``SIGKILL``. Default: 10
stop before sending a ``SIGKILL``. If None, then the
StopTimeout value of the container will be used.
Default: None
Raises:
:py:class:`docker.errors.APIError`
If the server returns an error.
"""
params = {'t': timeout}
if timeout is None:
params = {}
timeout = 10
else:
params = {'t': timeout}
url = self._url("/containers/{0}/stop", container)
res = self._post(url, params=params,