Una vez tenemos ya las imágenes descargadas es muy interesante conocerlas al máximo para poder utilizarlas. Para ello tenemos dos fuentes principales:
-
La página de la imagen en DockerHub que suele recoger sobre todo información relativa a aspectos como:
-
Una descripción de la aplicación o servicio que contiene la imagen.
-
Una lista de versiones TAGs disponibles.
-
Variables de entorno interesantes.
-
Cómo ejecutar la imagen.
-
-
La salida de las órdenes docker image inspect / docker inspect que nos da ya una información más detallada sobre las características, con todos los metadatos de la misma.
Veamos un ejemplo de la misma:
# Dos formas de obtener información de la imagen mysql:8.0.22 > docker image inspect
mysql:8.0.22 > docker inspect mysql:8.0.22 |
Obtendremos una salida similar a la siguiente:

Esta imagen es una imagen parcial, porque se nos muestra mucha información, está en formato JSON (JavaScript Object Notation) y nos da datos sobre aspectos como:
- El id y el checksum de la imagen.
- Los puertos abiertos.
- La arquitectura y el sistema operativo de la imagen.
- El tamaño de la imagen.
- Los volúmenes.
- El ENTRYPOINT que es lo que se ejecuta al hacer docker run.
- Las capas.
- Y muchas más cosas....
Adicionalmente, podemos formatear la salida usando Go Templates y el flag --format/-f. Una descripción detallada queda fuera de los objetivos de esta formación pero vamos a poner varios ejemplos:
# Mostrar la
arquitectura y el sistema > docker inspect
--format '{{.Architecture}} es la
arquitectura y el SO es {{.Os}}'
mysql:8.0.22 amd64 es la arquitectura y
el SO es linux # Mostrar la lista de puertos expuestos > docker inspect --format '{{.Config.ExposedPorts}}' mysql:8.0.22 map[3306/tcp:{} 33060/tcp:{}] |
NOTA: Para poder este formateo debemos conocer en profundidad la estructura del JSON que nos devuelve.