Saltar la navegación

3.1 Descarga de imágenes

Descarga de imágenes Docker

En lo que llevamos de curso hemos visto dos formas para poder descargarme una imagen docker:

  • Usando la el comando docker pull indicando el nombre de la imagen y la versión de la misma (TAG). Si no indicamos nada se descarga la última versión (latest). Por ejemplo:

# mysql - Es el nombre de la imagen 8.0.22 es la versión o TAG

> docker pull mysql:8.0.22

  • Al hacer docker run indicando, para la ejecución del contenedor, una imagen base que no hayamos descargado previamente. En ese caso se descargará la imagen y posteriormente empezará a ejecutarse el contenedor si todos los parámetros están bien. Por ejemplo:

# Supondremos que es la PRIMERA VEZ que vamos a usar esa imagen y no la hemos descargado

> docker run -it -d --name mysql8 -p 3306:3306 mysql:8.0.22

En cualquiera de los dos casos empieza un proceso de descarga que nos mostrará una serie de líneas, algo parecido a la siguiente imagen:

Resultado: docker pull mysql:8.0.22
Juan Diego Pérez. Resultado: docker pull mysql:8.0.22 (Dominio público)

Cada una de las líneas que se nos muestra es una de las capas que conforman la imagen docker. Se parte de una imagen inicial o imagen base  y  cada instrucción que realizamos para construir una nueva imagen con los elementos que queramos genera una nueva capa que en realidad, son imágenes intermedias. Eso nos permite además que las capas que son compartidas por varias imágenes no tengan que bajarse dos veces ya que las tendremos ya disponibles en nuestro sistema.

De todas esto hablaremos con más calma en el módulo 6 de este mismo curso: "Construyendo mis propios contenedores".

Mostrar imágenes descargadas

Cada vez que descarguemos una imagen podemos mostrar por pantalla una lista de las imágenes que tenemos en nuestro sistema usando la orden:

# Listas imágenes descargas

> docker images

La salida a ese comando será algo similar a la siguiente:

Mostrar imágenes descargadas
Juan Diego Pérez Jiménez. Mostrar imágenes descargadas (Dominio público)

La información que se  nos muestra se organiza en forma tabular y nos proporciona los siguientes datos:

  • REPOSITORY: Nombre de la imagen en el repositorio. Por ejemplo: mysql.
  • TAG: Versión de la imagen que hemos descargado. Por ejemplo: Para la imagen mysql tengo 3 versiones descargadas (5.7, latest que significa que era la última en el momento de descargarse y 8.0.22).
  • IMAGE ID: Un identificador que es único para cada imagen. Siempre podemos usar este ID en vez del nombre.
  • CREATED: Hace cuánto se creo la imagen.
  • SIZE: Tamaño de la imagen.

docker pull

Pese a que hemos visto que existen dos formas de realizar la descarga de las imágenes yo os recomiendo usar docker pull por las siguientes razones:

  • Me permite actualizar  una determina pareja imagen:versión a su última actualización. Sólo tendré que hacer docker pull con el mismo imagen:versión

# Suponiendo que ya teníamos previamente la versión descargada. Actualiza la versión mysql:5.7

> docker pull mysql:5.7

  • Me permite bajar todas las versiones de una imagen de una sola vez. Esto puede ser peligroso si una imagen tiene muchas versiones disponibles. Lo conseguiremos con la opción -a o --all-tags

# Descargamos todas las versiones de la imagen php. CON MUCHO CUIDADO, NO PROBAR

> docker pull -a php o docker pull --all-tags php

  • Tiene otras opciones que son útiles a nivel de usuario, de momento nos quedaremos con aquella que no me muestra todas la información de las capas.

# No muestro la información de las capas al descargarse

> docker pull -q httpd  o docker pull --quiet