Me gustaría saber si existe una imagen de Docker con una etiqueta específica a nivel local. Estoy bien usando un script bash si el cliente Docker no puede hacer esto de forma nativa.
Solo para proporcionar algunas sugerencias para un posible script bash, el resultado de ejecutar el docker imagescomando devuelve lo siguiente:
REPOSITORY                               TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
rabbitmq                                 latest              e8e654c05c91        5 weeks ago         143.5 MB
busybox                                  latest              8c2e06607696        6 weeks ago         2.433 MB
rabbitmq                                 3.4.4               a4fbaad9f996        11 weeks ago        131.5 MB
Pruebe
docker inspect, por ejemplo:Pero ahora, con una imagen que existe, obtendrá mucha información, por ejemplo:
Y está en un bonito formato json.
fuente
imagesy lospscomandos siempre salen con 0, coninspecttan simple como:docker inspect "${image_id}:${image_tag}" > /dev/null 2>&1 || echo "does not exist!"docker inspectes genial debido al código de retorno distinto de cero cuando no existe ninguna imagen.docker images -q.tldr:
A modo de demostración ...
éxito, imagen encontrada:
falla, falta la imagen:
Referencia:
https://docs.docker.com/engine/reference/commandline/image_inspect/
fuente
Puede utilizar como el siguiente:
O:
fuente
Con la ayuda de la respuesta de Vonc anterior, creé el siguiente script de bash llamado
check.sh:Si lo usa para una imagen y una etiqueta existentes, se imprimirá
exists, por ejemplo:Si lo usa para una imagen y una etiqueta que no existen, se imprimirá
doesn't exist, por ejemplo:fuente
Utilizando
testo en una línea
fuente
En caso de que esté intentando buscar una imagen de la ventana acoplable desde un registro de la ventana acoplable, supongo que la forma más fácil de verificar si una imagen de la ventana acoplable está presente es utilizando el servicio de lista de etiquetas de la API REST de Docker V2
Ejemplo:-
si el resultado anterior devuelve 200Ok con una lista de etiquetas de imagen, entonces sabemos que la imagen existe
si no ves algo como
entonces sabes con certeza que esa imagen no existe.
fuente
En el script bash hago esto para verificar si la imagen existe por etiqueta:
El script de ejemplo anterior verifica si existe una imagen mysql con etiqueta 5.6. Si solo desea verificar si existe alguna imagen de mysql sin una versión específica, simplemente pase el nombre del repositorio sin etiqueta como este:
fuente
Un poco de mi parte para muy buenos lectores:
Construir
Reloj
correr
fuente
para un nombre de etiqueta específico
para "cláusula similar" nombre de etiqueta: my_image_tag -> iniciar my_ima *
Si quieres algo de "la imagen", por ejemplo, elimina todas las imágenes. La etiqueta comenzó "my_ima", prueba esto.
fuente