You don't have access to this class

Keep learning! Join and start boosting your career

Aprovecha el precio especial y haz tu profesión a prueba de IA

Antes: $249

Currency
$209
Suscríbete

Termina en:

1 Días
2 Hrs
6 Min
2 Seg

Administrar mis imágenes de Docker

9/19
Resources

How to manage Docker images and containers effectively?

Managing images and containers in a Docker environment can be a simple task if you understand the right tools and commands. When creating an image and container, you could accumulate a large number of them over time, which could lead to a management problem. Let's learn how to handle it!

How to use Docker Desktop to manage images?

Docker Desktop is a graphical interface that makes it easy to manage your images and containers. In Docker Desktop, you can quickly see a list of the images you have stored, including their names and versions. Here's how to interact with it and manage your images:

  • Viewing images: From Docker Desktop, you can view the images you have, including the Tag that specifies the version of each one.
  • Versioning: Using docker build, you can assign custom Tags to your images that allow you to discriminate versions through conventional numbering, such as "2.1.5".

How to manage images from the terminal?

The terminal is a powerful tool to manage your Docker images with greater precision and flexibility. Here some essential commands:

  1. List images:

    docker images

    This command will show you a complete list of your current images.

  2. Filter images:

    docker images --filter "reference=website:1.0"

    Use the --filter parameter to search for specific images by their reference or tag.

  3. Display full image ID:

    docker images --no-trunc

    This will show you the Image ID in its full SHA-256 format.

How to handle image tags?

There are several commands to modify or add tags to your images, which will help you to keep a more organized control:

  • Assign a new tag to an existing image:
    docker image tag web_site:current admin/web_site:latest
    This command assigns a new tag to one of your images, updating its reference for better management.

How to delete images safely?

Removing unnecessary images is crucial to maintain a clean and efficient environment. Here's how to do it:

  1. Remove image tags:

    docker rmi admin/website_site:latest.

    This will remove the specific tag of the selected image.

  2. Remove images based on ID:

    docker rmi <image_id> .

    Before doing this, make sure that no container is using the image, as you will not be able to delete it otherwise.

  3. Force image deletion:

    docker rmi -f <image_id>.

    Use -f to force the removal of the image, even if its tags are in use.

It is critical to have all the tools you need to effectively manage your images and containers in Docker. These commands and practices will allow you to keep your environment well organized, avoiding unnecessary clutter and maintaining clarity on the versions and statuses of each image. Keep exploring and improving your Docker skills to optimize your projects!

Contributions 18

Questions 1

Sort by:

Want to see more contributions, questions and answers from the community?

El profe no indica como se borra el contenedor en la terminal pero buscando es primero deteniendolo si esta usando ``` docker stop id del contenedor ``` el id se consigue con docker ps, luego borrando el contenedor (aunque cuando yo lo detuve me lo borro de una vez): ``` docker rm id contenedor ``` y luego ya podriamos borrar la imagen que se ejecutaba en el contenedor
**Comandos para Imágenes** Construir una imagen a partir de un archivo Dockerfile `docker build -t <nombre_de_imagen>` Construir una imagen desde un archivo Dockerfile sin la caché `docker build -t <nombre_de_imagen> . -no-cache` Listar imágenes locales `docker images` Eliminar una imagen `docker rmi <nombre_imagen>` Eliminar todas las imágenes no utilizadas `docker image prune` Inicie sesión en Docker `docker login -u <nombredeusuario>` Publica una imagen en Docker Hub `docker push <nombre_usuario>/<nombre_imagen>` Buscar una imagen en Hub `docker search <nombre_imagen>` Extraer una imagen de un Docker Hub `docker pull <nombre_imagen>`
Les comparto la documentación oficial de Docker, siento que es de gran ayuda y puede permitir a más de uno entender a profundidad ciertos conceptos para reforzar con el curso: <https://docs.docker.com/get-started/overview/>
Entonces al final de cuentas no se habían creado nuevas imagenes sino que se estaban creando tags que apuntaban a la misma. Estoy en lo correcto? Si es así eso quiere decir que no se pueden crear imagenes de algo igual dentro de un contenedor
El comando `docker images --no-trunc` en Docker se utiliza para mostrar la lista de imágenes en tu sistema sin truncar (cortar) la información de los IDs de las imágenes. Esto te permite ver los IDs completos de las imágenes, que son útiles para identificar imágenes de manera única y realizar operaciones de gestión. ### **Detalles del Comando** * `docker images`: Muestra una lista de imágenes en tu sistema Docker. * `-no-trunc`: Opción que evita que se trunque (corte) la información, mostrando los IDs completos de las imágenes. ### **Cuándo Utilizar** `-no-trunc` * **Identificación Precisa**: Cuando necesitas el ID completo para ejecutar operaciones específicas, como eliminar una imagen o verificar información detallada. * **Depuración**: Cuando estás depurando problemas relacionados con imágenes y necesitas asegurarte de que estás trabajando con la imagen correcta. * **Scripts y Automatización**: Cuando estás escribiendo scripts o herramientas que necesitan procesar el ID completo de las imágenes.
que gran curso! bien explicado
El comando `docker images --filter=reference=""` es una herramienta útil para filtrar y listar imágenes de Docker según patrones específicos en sus nombres o etiquetas. A continuación, te explico cómo usarlo y qué hacer en diferentes casos: ### **Uso del Comando** * `docker images`: Muestra la lista de imágenes disponibles en tu sistema. * `--filter=reference=""`: Filtra las imágenes basándose en el patrón proporcionado en el parámetro `reference`. ### **Ejemplos de Uso** 1. **Listar Imágenes que Coincidan con un Patrón Específico**Si quieres listar imágenes que coincidan con un patrón específico en su nombre o etiqueta, puedes usar el filtro `reference`.**Ejemplo 1**: Listar imágenes de una imagen específica, por ejemplo, `node`:bashCopiar código`docker images --filter=reference="node*"` Esto listará todas las imágenes cuyo nombre o etiqueta comience con `node`.**Ejemplo 2**: Listar imágenes con una versión específica, por ejemplo, `node:14`:bashCopiar código`docker images --filter=reference="node:14"` Esto mostrará solo la imagen `node` con la etiqueta `14`. 2. **Listar Todas las Imágenes**Si dejas el patrón vacío, no obtendrás ninguna imagen (generalmente esto no se usa), pero puedes utilizar `*` como un comodín para obtener todas las imágenes:bashCopiar código`docker images --filter=reference="*"` Nota: El uso de `*` no siempre es necesario, ya que `docker images` sin filtros también muestra todas las imágenes. 3. **Combinar Filtros**Puedes combinar filtros para obtener resultados más específicos. Por ejemplo, si quieres todas las imágenes `nginx` con una etiqueta que comience con `latest`:bashCopiar código`docker images --filter=reference="nginx:latest*"` ### **Verificación y Ejemplos Reales** Para ver las imágenes y cómo se filtran, puedes ejecutar estos comandos en tu terminal: 1. **Listar Todas las Imágenes**:bashCopiar códigodocker images Esto te mostrará una lista completa de imágenes con sus nombres, etiquetas, IDs, etc. 2. **Filtrar Imágenes Específicas**:Si quieres ver qué imágenes se ajustan a un patrón, como imágenes de `node`:bashCopiar código`docker images --filter=reference="node*"` ### **Resumen** * `docker images --filter=reference="pattern"`: Filtra las imágenes basándose en el patrón de referencia que proporcionas. * `reference`: Puede ser un nombre de imagen, nombre de imagen con etiqueta, o un patrón con comodines como `*`. Este comando es particularmente útil para gestionar y limpiar imágenes en tu sistema Docker, ya que te permite localizar imágenes específicas basadas en sus nombres o etiquetas. chatGPT
Interesante, me recuerda mucho a git por los comandos, me está gustando bastante
Algunos aspectos a tener en cuenta en esta clase: 1. En el minuto 4:35 se habla del parámetro --no-trunc asociado al comando images, el cual es necesario en versiones anteriores de Docker, debido a que esta herramienta reutilizaba la imagen existente en lugar de crear una nueva, lo que hacía que el IMAGE ID fuera el mismo para todas las imágenes resultantes de construcciones basadas en el mismo dockerfile y la misma imagen de base, que en este caso es la del NGINX que se trajo del Docker Hub. 2. En la nueva versión de Docker esto cambió, ya que la herramienta genera una nueva imagen siempre, incluso si el contenido es idéntico, por lo que el IMAGE ID asignado a cada imagen es diferente. 3. Esto se relaciona con lo indicado en el minuto 5:42 de esta misma clase, en la que se menciona que al combinar el parámetro tag con el comando image, se obtiene una actualización, pero lo que realmente sucede es que se clona una imagen y se le asigna un alias o nombre diferente, por lo que en este caso el IMAGE ID de la imagen clonada es igual al asignado a su alias, ya que están empleando la misma referencia.
Los comandos vistos en la clase incluyen: 1. `docker build --tag nombre:version`: para crear imágenes con un tag específico. 2. `docker images`: para listar las imágenes disponibles. 3. `docker images --filter reference="nombre:tag"`: para filtrar imágenes por nombre y tag. 4. `docker rmi nombre:tag`: para eliminar una imagen por su tag. 5. `docker rmi -f image_id`: para forzar la eliminación de una imagen por su ID. Estos comandos son esenciales para administrar y gestionar imágenes en Docker.
crear un nuevo tag para una imagen: 1. Usando `docker build` (crea una nueva imagen): bashCopy`docker build -t sitioweb:2.0 .` Este método construye la imagen nuevamente desde el Dockerfile. 1. Usando `docker tag` (más eficiente, no reconstruye): bashCopy`docker tag sitioweb:1.0 sitioweb:2.0` Este método simplemente crea una nueva etiqueta para una imagen existente, sin necesidad de reconstruirla.
Cuando utiliza: `docker build -t sitioweb22:1.5 .` El ID cambia pero cuando utiliza : `docker image tag sitioweb:latest amin/sitioweb:latest` Veras que el ID no cambia, esto utilizando wsl
### Ejemplos de Uso 1. **Listar todas las imágenes**: * `docker images` 2. **Listar todas las imágenes, incluyendo intermedias**: * `docker images -a` 3. **Mostrar solo los IDs de las imágenes**: * `docker images -q` 4. **Filtrar imágenes por etiqueta**: * `docker images -f "label=version=1.0"` 5. **Mostrar los digests de las imágenes**: * `docker images --digests` 6. **Listar imágenes sin truncar la salida**: * `docker images --no-trunc` 7. **Usar un formato personalizado para listar las imágenes**: * `docker images --format "{{.Repository}}:{{.Tag}} @ {{.ID}}"`
El comando `docker image tag` se utiliza para asignar una nueva etiqueta (tag) a una imagen Docker existente. Etiquetar una imagen es útil para varios propósitos, como organizar, versionar, y publicar imágenes en un registro de Docker. ### **Propósito de** `docker image tag` 1. **Versionado**: Asignar versiones específicas a tus imágenes, por ejemplo, `my-app:1.0`, `my-app:2.0`, etc. 2. **Organización**: Dar nombres y etiquetas descriptivas a tus imágenes para facilitar su identificación y uso. 3. **Publicación**: Etiquetar imágenes con un nombre que coincida con el formato esperado por un registro, como Docker Hub, para que puedas subirla allí. Uso: Para versionar, organizar, y preparar imágenes para publicación en registros Docker.
Comandos para Imágenes Construir una imagen a partir de un archivo Dockerfile `docker build -t \<nombre\_de\_imagen>` Construir una imagen desde un archivo Dockerfile sin la caché `docker build -t \<nombre\_de\_imagen> . -no-cache`Listar imágenes locales docker images Eliminar una imagen `docker rmi \<nombre\_imagen>` Eliminar todas las imágenes no utilizadas docker image prune Inicie sesión en Docker `docker login -u \<nombredeusuario>` Publica una imagen en Docker Hub `docker push \<nombre\_usuario>/\<nombre\_imagen>` Buscar una imagen en Hub `docker search \<nombre\_imagen>` Extraer una imagen de un Docker Hub `docker pull \<nombre\_imagen>`
¿Por qué cuando el profesor ejecutó docker images posterior a renombrar el tag de sitioweb:latest como amin/sitioweb:latest, éste todavía se listaba como existente? ![](https://static.platzi.com/media/user_upload/image-7d1b1c5c-ee4a-43e2-8d39-de75e7d59c21.jpg)
docker image tag sitioweb:latest amin/sitioweb:latest al escribir esto, me esta clonando una imagen verdad? porque solo mencionan que se esta cambiando el tag, pero no es un cambio, es una clonacion porque veo otra imagen creada con 187MB
Excelente