mirror of https://github.com/docker/docker-py.git
Support the new PublishAllPorts flag.
This commit is contained in:
parent
1345da7972
commit
70a5c9b0ca
|
@ -470,7 +470,8 @@ class Client(requests.Session):
|
||||||
return self._result(self.get(self._url("/images/search"),
|
return self._result(self.get(self._url("/images/search"),
|
||||||
params={'term': term}), True)
|
params={'term': term}), True)
|
||||||
|
|
||||||
def start(self, container, binds=None, port_bindings=None, lxc_conf=None):
|
def start(self, container, binds=None, port_bindings=None, lxc_conf=None,
|
||||||
|
publish_all_ports=False):
|
||||||
if isinstance(container, dict):
|
if isinstance(container, dict):
|
||||||
container = container.get('Id')
|
container = container.get('Id')
|
||||||
|
|
||||||
|
@ -492,6 +493,8 @@ class Client(requests.Session):
|
||||||
if port_bindings:
|
if port_bindings:
|
||||||
start_config['PortBindings'] = port_bindings
|
start_config['PortBindings'] = port_bindings
|
||||||
|
|
||||||
|
start_config['PublishAllPorts'] = publish_all_ports
|
||||||
|
|
||||||
url = self._url("/containers/{0}/start".format(container))
|
url = self._url("/containers/{0}/start".format(container))
|
||||||
res = self._post_json(url, start_config)
|
res = self._post_json(url, start_config)
|
||||||
self._raise_for_status(res)
|
self._raise_for_status(res)
|
||||||
|
|
|
@ -231,7 +231,7 @@ class DockerClientTest(unittest.TestCase):
|
||||||
|
|
||||||
fake_request.assert_called_with(
|
fake_request.assert_called_with(
|
||||||
'unix://var/run/docker.sock/v1.4/containers/3cc2351ab11b/start',
|
'unix://var/run/docker.sock/v1.4/containers/3cc2351ab11b/start',
|
||||||
'{}',
|
'{"PublishAllPorts": false}',
|
||||||
headers={'Content-Type': 'application/json'}
|
headers={'Content-Type': 'application/json'}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -248,7 +248,8 @@ class DockerClientTest(unittest.TestCase):
|
||||||
'containers/3cc2351ab11b/start')
|
'containers/3cc2351ab11b/start')
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
json.loads(args[0][1]),
|
json.loads(args[0][1]),
|
||||||
{"LxcConf": [{"Value": "lxc.conf.value", "Key": "lxc.conf.k"}]}
|
{"LxcConf": [{"Value": "lxc.conf.value", "Key": "lxc.conf.k"}],
|
||||||
|
"PublishAllPorts": False}
|
||||||
)
|
)
|
||||||
self.assertEqual(args[1]['headers'],
|
self.assertEqual(args[1]['headers'],
|
||||||
{'Content-Type': 'application/json'})
|
{'Content-Type': 'application/json'})
|
||||||
|
@ -266,7 +267,8 @@ class DockerClientTest(unittest.TestCase):
|
||||||
'containers/3cc2351ab11b/start')
|
'containers/3cc2351ab11b/start')
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
json.loads(args[0][1]),
|
json.loads(args[0][1]),
|
||||||
{"LxcConf": [{"Value": "lxc.conf.value", "Key": "lxc.conf.k"}]}
|
{"LxcConf": [{"Value": "lxc.conf.value", "Key": "lxc.conf.k"}],
|
||||||
|
"PublishAllPorts": False}
|
||||||
)
|
)
|
||||||
self.assertEqual(args[1]['headers'],
|
self.assertEqual(args[1]['headers'],
|
||||||
{'Content-Type': 'application/json'})
|
{'Content-Type': 'application/json'})
|
||||||
|
@ -282,7 +284,7 @@ class DockerClientTest(unittest.TestCase):
|
||||||
|
|
||||||
fake_request.assert_called_with(
|
fake_request.assert_called_with(
|
||||||
'unix://var/run/docker.sock/v1.4/containers/3cc2351ab11b/start',
|
'unix://var/run/docker.sock/v1.4/containers/3cc2351ab11b/start',
|
||||||
'{"Binds": ["/tmp:/mnt"]}',
|
'{"Binds": ["/tmp:/mnt"], "PublishAllPorts": false}',
|
||||||
headers={'Content-Type': 'application/json'}
|
headers={'Content-Type': 'application/json'}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -293,7 +295,8 @@ class DockerClientTest(unittest.TestCase):
|
||||||
self.fail('Command should not raise exception: {0}'.format(e))
|
self.fail('Command should not raise exception: {0}'.format(e))
|
||||||
fake_request.assert_called_with(
|
fake_request.assert_called_with(
|
||||||
'unix://var/run/docker.sock/v1.4/containers/3cc2351ab11b/start',
|
'unix://var/run/docker.sock/v1.4/containers/3cc2351ab11b/start',
|
||||||
'{}', headers={'Content-Type': 'application/json'}
|
'{"PublishAllPorts": false}',
|
||||||
|
headers={'Content-Type': 'application/json'}
|
||||||
)
|
)
|
||||||
|
|
||||||
def test_wait(self):
|
def test_wait(self):
|
||||||
|
|
Loading…
Reference in New Issue