34 lines
842 B
Python
34 lines
842 B
Python
import docker
|
|
from docker import DockerClient
|
|
from docker.errors import NotFound
|
|
from docker.models.images import RegistryData
|
|
|
|
|
|
def build_client() -> DockerClient:
|
|
client = docker.from_env()
|
|
return client
|
|
|
|
|
|
def check_remote_image(client: DockerClient, tag: str) -> bool:
|
|
try:
|
|
registry_data: RegistryData = client.images.get_registry_data(tag)
|
|
print(f"image name: {registry_data.image_name}")
|
|
print(f"id : {registry_data.id}")
|
|
print(f"short_id : {registry_data.short_id}")
|
|
print(f"attrs : {registry_data.attrs}")
|
|
return True
|
|
except NotFound:
|
|
print(f"{tag} not found")
|
|
return False
|
|
|
|
|
|
def main():
|
|
client = build_client()
|
|
|
|
print(client)
|
|
check_remote_image(client, "docker.m.daocloud.io/ubuntu:24.04")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|