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 este curso 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.