Kaydet (Commit) 6bafac05 authored tarafından Joffrey F's avatar Joffrey F

Merge branch 'dimaspivak-master'

......@@ -40,13 +40,14 @@ class ContainerApiMixin(object):
@utils.check_resource
def commit(self, container, repository=None, tag=None, message=None,
author=None, conf=None):
author=None, changes=None, conf=None):
params = {
'container': container,
'repo': repository,
'tag': tag,
'comment': message,
'author': author
'author': author,
'changes': changes
}
u = self._url("/commit")
return self._result(self._post_json(u, data=conf, params=params),
......
......@@ -123,6 +123,7 @@ Identical to the `docker commit` command.
* tag (str): The tag to push
* message (str): A commit message
* author (str): The name of the author
* changes (str): Dockerfile instructions to apply while committing
* conf (dict): The configuration for the container. See the [Docker remote api](
https://docs.docker.com/reference/api/docker_remote_api/) for full details.
......
......@@ -90,6 +90,20 @@ class CommitTest(helpers.BaseTestCase):
self.assertIn('Parent', img)
self.assertEqual(img['Parent'], busybox_id)
def test_commit_with_changes(self):
cid = self.client.create_container(BUSYBOX, ['touch', '/test'])
self.tmp_containers.append(cid)
self.client.start(cid)
img_id = self.client.commit(
cid, changes=['EXPOSE 8000', 'CMD ["bash"]']
)
self.tmp_imgs.append(img_id)
img = self.client.inspect_image(img_id)
assert 'Container' in img
assert img['Container'].startswith(cid['Id'])
assert '8000/tcp' in img['Config']['ExposedPorts']
assert img['Config']['Cmd'] == ['bash']
class RemoveImageTest(helpers.BaseTestCase):
def test_remove(self):
......
......@@ -101,7 +101,8 @@ class ImageTest(DockerClientTest):
'comment': None,
'tag': None,
'container': '3cc2351ab11b',
'author': None
'author': None,
'changes': None
},
timeout=DEFAULT_TIMEOUT_SECONDS
)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment