5.1 Comando docker images
Si ya tienes imágenes de Docker guardadas en tu sistema, hay comandos especiales para gestionarlas. Ante todo, estamos hablando de docker images
y docker rmi
. En esta lección, vamos a analizar detalladamente cómo usar estos comandos para gestionar imágenes de Docker de manera efectiva.
El comando docker images
muestra una lista de las imágenes almacenadas localmente en tu sistema. Proporciona información como el nombre del repositorio, etiqueta, identificador de la imagen, fecha de creación y tamaño. Esta información te permite evaluar rápidamente qué imágenes están disponibles y cuánto espacio ocupan.
Sintaxis:
docker images [OPTIONS] [REPOSITORY[:TAG]]
Dónde:
-
OPTIONS
: parámetros adicionales para filtrar y formatear la salida. -
[REPOSITORY[:TAG]]
: (opcional) filtro por nombre del repositorio y/o etiqueta.
Ejemplo de uso básico
Este ejemplo muestra una lista de todas las imágenes almacenadas localmente.
docker images
Ejemplo de salida del comando docker images
:
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 5a7e5b1a3b8c 2 days ago 133MB
ubuntu 20.04 ba6acccedd29 3 weeks ago 72.9MB
myapp 1.0 d1e5e2ff5ff2 1 month ago 89.5MB
Descripción de las columnas:
- REPOSITORY: nombre del repositorio al que pertenece la imagen.
- TAG: etiqueta que indica la versión de la imagen.
- IMAGE ID: identificador único de la imagen.
- CREATED: tiempo transcurrido desde que se creó la imagen.
- SIZE: tamaño de la imagen en memoria.
5.2 Filtrado de imágenes
El filtrado de imágenes permite reducir los resultados del comando docker images
para ver solo las imágenes que cumplen con tus criterios. Esto es útil si tienes muchas imágenes almacenadas en tu sistema y necesitas encontrar rápidamente una imagen específica por el nombre del repositorio, etiqueta u otros parámetros.
1. Filtro por repositorio
docker images nginx
Este ejemplo mostrará solo las imágenes del repositorio nginx
.
2. Filtro por etiqueta
docker images ubuntu:20.04
Este ejemplo mostrará la imagen ubuntu
con la etiqueta 20.04
.
3. Uso del parámetro -a (all)
Por defecto, el comando docker images
muestra solo las últimas versiones de las imágenes. Para mostrar todas las imágenes, incluidas las capas intermedias, usa la opción -a
.
docker images -a
4. Formateo de salida
Para facilitar la lectura o la integración con otras herramientas, puedes personalizar el formato de la salida usando la opción --format
. Esto es especialmente útil en scripts y para la automatización de tareas.
docker images --format "{{.Repository}}:{{.Tag}} {{.ID}}"
5.3 Comando docker rmi
El comando docker rmi
se utiliza para eliminar una o más imágenes de Docker. Esto es útil para liberar espacio en disco y mantener el sistema ordenado, especialmente si las imágenes ya no se están utilizando.
Sintaxis:
docker rmi [OPTIONS] IMAGE [IMAGE...]
Dónde:
- OPTIONS: parámetros adicionales para gestionar el proceso de eliminación.
- IMAGE: nombre, etiqueta o identificador de la imagen que se desea eliminar.
Ejemplo básico de uso
Este ejemplo elimina una imagen con el nombre nginx
.
docker rmi nginx
Eliminación por identificador de imagen
Este ejemplo elimina una imagen con el identificador 5a7e5b1a3b8c
.
docker rmi 5a7e5b1a3b8c
Eliminación forzada
Si una imagen está siendo utilizada por un contenedor o está bloqueada, puede que no sea posible eliminarla de forma estándar. Para eliminarla de forma forzada, utiliza la opción -f (force)
.
docker rmi -f myapp:1.0
Eliminación de múltiples imágenes
Para eliminar varias imágenes a la vez, indícalas separadas por un espacio.
docker rmi nginx ubuntu:20.04 myapp:1.0
5.4 Ejemplos prácticos
Ejemplo 1: Ver todas las imágenes
Para obtener una lista completa de todas las imágenes almacenadas en la máquina local, ejecuta el comando:
docker images
Este comando mostrará una tabla con los nombres de los repositorios, las etiquetas, los identificadores de imágenes, las fechas de creación y los tamaños.
Ejemplo 2: Ver imágenes con formato personalizado
Para obtener una lista de imágenes con formato personalizado, por ejemplo, para mostrar solo el nombre del repositorio y la etiqueta:
docker images --format "{{.Repository}}:{{.Tag}}"
Este ejemplo muestra cómo usar la opción --format
para personalizar la salida, lo cual es útil al escribir scripts.
Ejemplo 3: Eliminar todas las imágenes no utilizadas
Si deseas eliminar todas las imágenes no utilizadas por contenedores, primero obtén su lista y luego realiza la eliminación:
docker images -q
docker rmi $(docker images -q)
El comando docker images -q
muestra solo los identificadores de todas las imágenes almacenadas localmente, que luego se pasan a docker rmi
para eliminarlas.
Ejemplo 4: Eliminar imágenes dangling
Las dangling images
son imágenes sin etiquetas que quedan después de actualizaciones de imágenes o builds fallidos. Para eliminarlas usa el comando:
docker rmi $(docker images -f "dangling=true" -q)
Aquí -f "dangling=true"
filtra las imágenes sin etiquetas y -q
muestra solo sus identificadores, que se pasan al comando de eliminación.
GO TO FULL VERSION