Curso Docker

Gestión de Imágenes en Docker

Docker permite gestionar imágenes que contienen todo lo necesario para ejecutar aplicaciones dentro de contenedores. Aquí te explico los comandos más utilizados para gestionar estas imágenes, de forma sencilla y con ejemplos.

1. docker images: Listar imágenes locales

Este comando te muestra todas las imágenes que tienes descargadas localmente en tu máquina.

Ejemplo:

1docker images

Salida esperada:

REPOSITORY   TAG       IMAGE ID       CREATED        SIZE
ubuntu       latest    7e0aa2d69a15   2 weeks ago    72.9MB
nginx        latest    4bb46517cac3   3 weeks ago    133MB

Aquí puedes ver el nombre de la imagen, la etiqueta (TAG), el ID de la imagen, cuándo se creó, y su tamaño.


2. docker pull <imagen>: Descargar una imagen desde un repositorio (Docker Hub)

El comando docker pull descarga una imagen desde Docker Hub (u otro repositorio de imágenes) a tu máquina local.

Ejemplo:

1docker pull nginx

Esto descargará la imagen más reciente de nginx desde Docker Hub. Si la imagen ya está descargada, no volverá a bajarla.


3. docker push <imagen>: Subir una imagen a un repositorio

Si has creado o modificado una imagen localmente, puedes subirla a un repositorio remoto (como Docker Hub) usando el comando docker push.

Ejemplo:

1docker push miusuario/miimagen:tag

Para esto, es necesario:

  • Haber iniciado sesión en Docker Hub con docker login.
  • Asegurarte de que la imagen tiene un nombre que incluye tu nombre de usuario de Docker Hub (como miusuario/miimagen).

4. docker build -t <nombre_imagen> <ruta_Dockerfile>: Construir una imagen desde un Dockerfile

Este comando crea una imagen basada en las instrucciones de un Dockerfile, que es un archivo que contiene los pasos para configurar una imagen.

Ejemplo:

1docker build -t miapp:v1 .
  • -t miapp:v1: Esto le da un nombre y una etiqueta (v1) a la imagen.
  • .: Es la ruta donde está el Dockerfile, en este caso, el directorio actual.

5. docker rmi <id_imagen>: Eliminar una imagen

Este comando elimina una imagen de tu máquina local, liberando espacio.

Ejemplo:

1docker rmi 7e0aa2d69a15

Esto elimina la imagen con ID 7e0aa2d69a15 que puedes obtener con docker images. Si la imagen está siendo usada por algún contenedor, no podrás eliminarla a menos que lo fuerces.


6. docker tag <imagen_origen> <imagen_destino>: Crear un nuevo tag para una imagen

A veces necesitas etiquetar (tag) una imagen con otro nombre o versión para facilitar su gestión o publicación.

Ejemplo:

1docker tag nginx:latest miusuario/nginx:v2

Esto toma la imagen nginx:latest y le crea un nuevo tag miusuario/nginx:v2. Ahora puedes subirla a un repositorio o ejecutarla usando este nuevo nombre.


7. docker history <nombre_imagen>: Mostrar el historial de capas de una imagen

Este comando te muestra cómo se construyó una imagen, capa por capa. Cada capa puede representar una instrucción en el Dockerfile.

Ejemplo:

1docker history nginx

Salida esperada:

IMAGE        CREATED        CREATED BY                                      SIZE
4bb46517cac3 3 weeks ago    /bin/sh -c #(nop)  CMD ["nginx" "-g" "daemon ... 0B
<missing>    3 weeks ago    /bin/sh -c #(nop)  EXPOSE 80                    0B
<missing>    3 weeks ago    /bin/sh -c #(nop)  ADD file:90d73d81909f5072... 133MB

Esto muestra el historial de la imagen nginx, con detalles sobre qué comandos fueron usados para crear cada capa y el tamaño de cada una.


Resumen

  • docker images: Muestra las imágenes locales.
  • docker pull: Descarga una imagen desde Docker Hub.
  • docker push: Sube una imagen a Docker Hub.
  • docker build: Crea una imagen desde un Dockerfile.
  • docker rmi: Elimina una imagen.
  • docker tag: Etiqueta una imagen con un nuevo nombre o versión.
  • docker history: Muestra el historial de cómo se construyó una imagen.

Estos comandos te ayudarán a gestionar eficazmente las imágenes en Docker.

  • Loading...
  • Muestra un listado con las imagenes de Docker que tienes en tu sistema.

    Loading...
  • Descargar la imagen oficial de Redis desde Docker Hub. (solo descárgala)

    Redis (REmote DIctionary Server) (enlace externo a IBM) es un almacén de pares de clave/valor NoSQL en memoria de código abierto que se utiliza principalmente como memoria caché de aplicaciones o base de datos respuesta rápida.

    Loading...
  • Borra la imagen cuyo ID es 873a647

    Loading...