+ if self._mirror:
+ # if docker mirroring repository is set
+ image_name_split = image_name.split('/')
+ if (len(image_name_split) > 1) \
+ and (image_name_split[0].find(".")) \
+ and not (image_name.startswith('docker.io/')):
+ # if image originates from private registry and its name does not start with 'docker.io'
+ # download image from docker mirror and retag it to its original name
+ mirrored_image_name = self._mirror + "/" + '/'.join(image_name_split[1:])
+ img = self._docker_client.images.pull(mirrored_image_name)
+ self._docker_client.images.model.tag(img, image_name)
+ # untag the image pulled from mirror
+ self._docker_client.images.remove(mirrored_image_name)
+ image = self._docker_client.images.get(image_name)
+ else:
+ image = self._docker_client.images.pull(image_name)
+ else:
+ image = self._docker_client.images.pull(image_name)