|
|
@@ -166,11 +166,12 @@ class DockerRuntimeBuilder(RuntimeBuilder):
|
|
|
)
|
|
|
return target_image_hash_name
|
|
|
|
|
|
- def image_exists(self, image_name: str) -> bool:
|
|
|
+ def image_exists(self, image_name: str, pull_from_repo: bool = True) -> bool:
|
|
|
"""Check if the image exists in the registry (try to pull it first) or in the local store.
|
|
|
|
|
|
Args:
|
|
|
image_name (str): The Docker image to check (<image repo>:<image tag>)
|
|
|
+ pull_from_repo (bool): Whether to pull from the remote repo if the image not present locally
|
|
|
Returns:
|
|
|
bool: Whether the Docker image exists in the registry or in the local store
|
|
|
"""
|
|
|
@@ -184,6 +185,11 @@ class DockerRuntimeBuilder(RuntimeBuilder):
|
|
|
logger.debug('Image found locally.')
|
|
|
return True
|
|
|
except docker.errors.ImageNotFound:
|
|
|
+ if not pull_from_repo:
|
|
|
+ logger.debug(
|
|
|
+ f'Image {image_name} not found locally'
|
|
|
+ )
|
|
|
+ return False
|
|
|
try:
|
|
|
logger.debug(
|
|
|
'Image not found locally. Trying to pull it, please wait...'
|