Cómo listar todos los contenedores Docker, incluyendo los ocultos

DockerDockerBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

Este tutorial lo guiará a través del proceso de listar todos los contenedores Docker, incluyendo aquellos que no son visibles a simple vista. Al final, tendrá una comprensión integral de la gestión de contenedores Docker y podrá mantener una visibilidad completa sobre su entorno de contenedores.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/ContainerOperationsGroup(["Container Operations"]) docker/ContainerOperationsGroup -.-> docker/ls("List Containers") docker/ContainerOperationsGroup -.-> docker/ps("List Running Containers") docker/ContainerOperationsGroup -.-> docker/start("Start Container") docker/ContainerOperationsGroup -.-> docker/stop("Stop Container") docker/ContainerOperationsGroup -.-> docker/attach("Attach to Container") docker/ContainerOperationsGroup -.-> docker/exec("Execute Command in Container") subgraph Lab Skills docker/ls -.-> lab-417658{{"Cómo listar todos los contenedores Docker, incluyendo los ocultos"}} docker/ps -.-> lab-417658{{"Cómo listar todos los contenedores Docker, incluyendo los ocultos"}} docker/start -.-> lab-417658{{"Cómo listar todos los contenedores Docker, incluyendo los ocultos"}} docker/stop -.-> lab-417658{{"Cómo listar todos los contenedores Docker, incluyendo los ocultos"}} docker/attach -.-> lab-417658{{"Cómo listar todos los contenedores Docker, incluyendo los ocultos"}} docker/exec -.-> lab-417658{{"Cómo listar todos los contenedores Docker, incluyendo los ocultos"}} end

Comprender los contenedores Docker

Docker es una popular plataforma de contenerización que permite a los desarrolladores empaquetar y desplegar aplicaciones de manera consistente y reproducible. Los contenedores son paquetes de software livianos, independientes y ejecutables que incluyen todo lo necesario para ejecutar una aplicación, incluyendo el código, el entorno de ejecución, las herramientas del sistema y las bibliotecas.

¿Qué son los contenedores Docker?

Los contenedores Docker son una forma de empaquetar y distribuir aplicaciones. Encapsulan una aplicación y todas sus dependencias, como bibliotecas y otros binarios, y proporcionan un entorno de ejecución consistente. Esto garantiza que la aplicación se ejecutará de la misma manera, independientemente del sistema operativo subyacente o de la infraestructura.

Beneficios de los contenedores Docker

  • Consistencia: Los contenedores Docker proporcionan un entorno de ejecución consistente y predecible, lo que garantiza que la aplicación se comportará de la misma manera en diferentes entornos.
  • Portabilidad: Los contenedores Docker se pueden mover fácilmente entre diferentes sistemas, incluyendo entornos de desarrollo, prueba y producción, sin necesidad de cambios complejos de configuración.
  • Escalabilidad: Los contenedores Docker se pueden escalar fácilmente hacia arriba o hacia abajo, según los requisitos de recursos de la aplicación, lo que facilita la gestión y el despliegue de aplicaciones.
  • Eficiencia: Los contenedores Docker son livianos y utilizan menos recursos que las máquinas virtuales tradicionales, ya que comparten el kernel del sistema operativo anfitrión.

Ciclo de vida de un contenedor Docker

El ciclo de vida de un contenedor Docker se puede dividir en las siguientes etapas:

  1. Crear: Se crea un nuevo contenedor a partir de una imagen Docker.
  2. Ejecutar: El contenedor se inicia y la aplicación dentro de él comienza a ejecutarse.
  3. Detener: El contenedor se detiene, pero su estado se conserva.
  4. Iniciar: El contenedor detenido se reinicia y la aplicación reanuda la ejecución.
  5. Eliminar: El contenedor se elimina permanentemente del sistema.
graph LR Create --> Run Run --> Stop Stop --> Start Start --> Run Run --> Remove

Redes de contenedores Docker

Los contenedores Docker se pueden conectar a una o más redes, lo que les permite comunicarse entre sí y con el sistema anfitrión. Docker proporciona varios controladores de red, como bridge, host y overlay, para adaptarse a diferentes requisitos de red.

Controlador de red Descripción
bridge El controlador de red predeterminado, que conecta los contenedores a una red de puente virtual en el sistema anfitrión.
host Permite que el contenedor utilice la pila de red del sistema anfitrión, omitiendo la red de puente virtual.
overlay Permite la comunicación entre contenedores en múltiples hosts Docker, creando una red distribuida.

Al comprender los conceptos básicos de los contenedores Docker, estará mejor preparado para gestionar y desplegar sus aplicaciones utilizando esta poderosa tecnología de contenerización.

Listar contenedores Docker

Una vez que tenga contenedores Docker en ejecución, necesitará poder listarlos y administrarlos. Docker proporciona varios comandos para listar e inspeccionar contenedores, lo que le permite entender su estado actual e interactuar con ellos.

Listar todos los contenedores

Para listar todos los contenedores Docker en ejecución, puede utilizar el comando docker container ls:

docker container ls

Esto mostrará una tabla con información sobre los contenedores en ejecución, incluyendo el ID del contenedor, la imagen, el comando, la hora de creación, el estado y los puertos.

Si desea listar todos los contenedores, incluyendo aquellos que no están en ejecución, puede utilizar la opción -a o --all:

docker container ls -a

Esto le mostrará todos los contenedores que se han creado, independientemente de su estado actual.

Listar detalles del contenedor

Para obtener información más detallada sobre un contenedor específico, puede utilizar el comando docker container inspect:

docker container inspect <container_id>

Esto generará un objeto JSON que contiene información detallada sobre el contenedor, como su configuración, ajustes de red y uso de recursos.

También puede utilizar el comando docker container stats para obtener métricas de rendimiento en tiempo real de uno o más contenedores:

docker container stats <container_id>

Esto mostrará una transmisión en vivo del uso de CPU, memoria, red y E/S de disco para el o los contenedores especificados.

Al dominar los diversos comandos para listar e inspeccionar contenedores Docker, podrá administrar y solucionar problemas de sus aplicaciones contenerizadas de manera efectiva.

Revelar contenedores ocultos

En algunos casos, es posible que necesite listar los contenedores Docker que no son visibles utilizando el comando estándar docker container ls. Estos contenedores "ocultos" pueden ser contenedores que se han detenido, eliminado o que se encuentran en un estado de no ejecución.

Listar todos los contenedores, incluyendo los ocultos

Para listar todos los contenedores Docker, incluyendo aquellos que no están en ejecución, puede utilizar el comando docker container ls --all:

docker container ls --all

Esto mostrará una lista de todos los contenedores, independientemente de su estado actual.

Listar contenedores detenidos

Si desea listar específicamente solo los contenedores detenidos, puede utilizar el siguiente comando:

docker container ls --all --filter "status=exited"

Esto le mostrará todos los contenedores que tienen un estado de "exited" (finalizado), lo que significa que ya no están en ejecución.

Listar contenedores huérfanos

Los contenedores huérfanos (dangling containers) son contenedores que no están asociados a ninguna imagen y no tienen referencias. Estos contenedores se pueden listar utilizando el siguiente comando:

docker container ls --all --filter "status=created"

Esto mostrará todos los contenedores que tienen un estado de "created" (creado), que suelen ser contenedores huérfanos.

Al entender cómo listar todos los contenedores Docker, incluyendo los ocultos o no en ejecución, podrá administrar y mantener mejor sus aplicaciones contenerizadas.

Resumen

En este tutorial de Docker, ha aprendido cómo listar todos los contenedores, incluyendo los ocultos, para obtener una visibilidad completa de su entorno Docker. Al entender los diferentes comandos y técnicas, puede administrar y monitorear eficazmente sus contenedores Docker, asegurando un rendimiento óptimo y la capacidad de solucionar problemas.