From 01b5a7d5e763c75e95d92d67809662dd0a0c6bb9 Mon Sep 17 00:00:00 2001 From: Nicolas Delaby Date: Fri, 11 Apr 2014 13:35:41 +0200 Subject: [PATCH] From api 1.10 dns and volumes should be transmitted to start() --- docker/client.py | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/docker/client.py b/docker/client.py index 813902d8..3e6fb668 100644 --- a/docker/client.py +++ b/docker/client.py @@ -16,6 +16,7 @@ import json import re import shlex import struct +import warnings import requests import requests.exceptions @@ -137,6 +138,14 @@ class Client(requests.Session): attach_stdin = True stdin_once = True + if utils.compare_version('1.10', self._version) >= 0: + message = ('{0!r} parameter has no effect on create_container().' + ' It has been moved to start()') + if dns: + warnings.warn(message.format('dns'), FutureWarning) + if volumes_from: + warnings.warn(message.format('volumes_from'), FutureWarning) + return { 'Hostname': hostname, 'Domainname': domainname, @@ -665,7 +674,8 @@ class Client(requests.Session): True) def start(self, container, binds=None, port_bindings=None, lxc_conf=None, - publish_all_ports=False, links=None, privileged=False): + publish_all_ports=False, links=None, privileged=False, + dns=None, volumes_from=None): if isinstance(container, dict): container = container.get('Id') @@ -703,6 +713,14 @@ class Client(requests.Session): start_config['Privileged'] = privileged + if utils.compare_version('1.10', self._version) >= 0: + if dns: + start_config['Dns'] = dns + if volumes_from: + if not isinstance(volumes_from, six.string_types): + volumes_from = ','.join(volumes_from) + start_config['VolumesFrom'] = volumes_from + url = self._url("/containers/{0}/start".format(container)) res = self._post_json(url, data=start_config) self._raise_for_status(res)