Saltar la navegación

3.3 Obteniendo información de las imágenes

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:

Salida
                      del comando docker inspect mysql:8.0.22
Juan Diego Pérez Jiménez. Salida del comando docker inspect mysql:8.0.22 (Dominio público)

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.

Creado con eXeLearning (Ventana nueva)