diff --git a/docker/models/images.py b/docker/models/images.py index d1b29ad8a6..89e0e80319 100644 --- a/docker/models/images.py +++ b/docker/models/images.py @@ -236,13 +236,24 @@ def load(self, data): data (binary): Image data to be loaded. Returns: - (generator): Progress output as JSON objects + (list of :py:class:`Image`): The images. Raises: :py:class:`docker.errors.APIError` If the server returns an error. """ - return self.client.api.load_image(data) + resp = self.client.api.load_image(data) + images = [] + for chunk in resp: + if 'stream' in chunk: + match = re.search( + r'(^Loaded image ID: |^Loaded image: )(.+)$', + chunk['stream'] + ) + if match: + image_id = match.group(2) + images.append(image_id) + return [self.get(i) for i in images] def pull(self, name, tag=None, **kwargs): """