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