diff --git a/docker/api/image.py b/docker/api/image.py index 85109473..9db094a9 100644 --- a/docker/api/image.py +++ b/docker/api/image.py @@ -100,7 +100,7 @@ class ImageApiMixin: return res def import_image(self, src=None, repository=None, tag=None, image=None, - changes=None, stream_src=False): + changes=None, stream_src=False, message=None): """ Import an image. Similar to the ``docker import`` command. @@ -129,7 +129,7 @@ class ImageApiMixin: params = _import_image_params( repository, tag, image, src=(src if isinstance(src, str) else None), - changes=changes + changes=changes, message=message ) headers = {'Content-Type': 'application/tar'} @@ -152,7 +152,7 @@ class ImageApiMixin: ) def import_image_from_data(self, data, repository=None, tag=None, - changes=None): + changes=None, message=None): """ Like :py:meth:`~docker.api.image.ImageApiMixin.import_image`, but allows importing in-memory bytes data. @@ -165,7 +165,7 @@ class ImageApiMixin: u = self._url('/images/create') params = _import_image_params( - repository, tag, src='-', changes=changes + repository, tag, src='-', changes=changes, message=message ) headers = {'Content-Type': 'application/tar'} return self._result( @@ -175,7 +175,7 @@ class ImageApiMixin: ) def import_image_from_file(self, filename, repository=None, tag=None, - changes=None): + changes=None, message=None): """ Like :py:meth:`~docker.api.image.ImageApiMixin.import_image`, but only supports importing from a tar file on disk. @@ -190,18 +190,19 @@ class ImageApiMixin: """ return self.import_image( - src=filename, repository=repository, tag=tag, changes=changes + src=filename, repository=repository, tag=tag, changes=changes, + message=message ) def import_image_from_stream(self, stream, repository=None, tag=None, - changes=None): + changes=None, message=None): return self.import_image( src=stream, stream_src=True, repository=repository, tag=tag, - changes=changes + changes=changes, message=message ) def import_image_from_url(self, url, repository=None, tag=None, - changes=None): + changes=None, message=None): """ Like :py:meth:`~docker.api.image.ImageApiMixin.import_image`, but only supports importing from a URL. @@ -212,11 +213,12 @@ class ImageApiMixin: tag (str): The tag to apply """ return self.import_image( - src=url, repository=repository, tag=tag, changes=changes + src=url, repository=repository, tag=tag, changes=changes, + message=message ) def import_image_from_image(self, image, repository=None, tag=None, - changes=None): + changes=None, message=None): """ Like :py:meth:`~docker.api.image.ImageApiMixin.import_image`, but only supports importing from another image, like the ``FROM`` Dockerfile @@ -228,7 +230,8 @@ class ImageApiMixin: tag (str): The tag to apply """ return self.import_image( - image=image, repository=repository, tag=tag, changes=changes + image=image, repository=repository, tag=tag, changes=changes, + message=message ) @utils.check_resource('image') @@ -583,7 +586,7 @@ def is_file(src): def _import_image_params(repo, tag, image=None, src=None, - changes=None): + changes=None, message=None): params = { 'repo': repo, 'tag': tag, @@ -598,4 +601,7 @@ def _import_image_params(repo, tag, image=None, src=None, if changes: params['changes'] = changes + if message: + params['message'] = message + return params