Cómo listar contenedores Docker en ejecución y detenidos

DockerBeginner
Practicar Ahora

Introducción

En este tutorial, exploraremos las técnicas esenciales para listar contenedores Docker en ejecución y detenidos. Comprender cómo gestionar y monitorizar eficazmente tu entorno Docker es crucial para el desarrollo y despliegue eficientes de aplicaciones basadas en contenedores.

Entendiendo los Contenedores Docker

Docker es una plataforma de contenedorización popular que permite a los desarrolladores empaquetar y desplegar aplicaciones de forma consistente y reproducible. Los contenedores son unidades ligeras, autónomas y autocontenidas que encapsulan una aplicación, sus dependencias y su entorno de ejecución. Esto facilita el desarrollo, las pruebas y el despliegue de aplicaciones en diferentes entornos, desde el portátil de un desarrollador hasta servidores de producción.

¿Qué son los Contenedores Docker?

Los contenedores Docker son una forma de empaquetar y distribuir aplicaciones. Proporcionan un entorno estandarizado y aislado para ejecutar aplicaciones, asegurando que la aplicación y sus dependencias se agrupan juntas y se pueden desplegar fácilmente en cualquier sistema que tenga Docker instalado. Los contenedores se crean a partir de imágenes Docker, que son como planos o plantillas para el contenedor.

Beneficios de los Contenedores Docker

  • Consistencia: Los contenedores garantizan que la aplicación y sus dependencias se empaquetan juntas, eliminando el problema de "funciona en mi máquina".
  • Portabilidad: Los contenedores se pueden mover fácilmente entre diferentes entornos, desde desarrollo hasta producción, sin necesidad de cambios de configuración complejos.
  • Escalabilidad: Los contenedores se pueden escalar fácilmente hacia arriba o hacia abajo, lo que te permite ajustar los recursos asignados a tu aplicación según la demanda.
  • Eficiencia: Los contenedores son ligeros y comparten el sistema operativo del host, lo que los hace más eficientes que las máquinas virtuales tradicionales.

Arquitectura de Docker

Docker utiliza una arquitectura cliente-servidor, donde el cliente Docker se comunica con el demonio Docker (el servidor) para realizar diversas operaciones, como la creación, ejecución y gestión de contenedores. El demonio Docker se ejecuta en la máquina host y es responsable de gestionar los contenedores y su ciclo de vida.

graph LD subgraph Arquitectura de Docker client[Cliente Docker] -- API --> daemon[Demonio Docker] daemon -- Extrae Imágenes --> registry[Registro Docker] daemon -- Gestiona --> container[Contenedores Docker] end

Imágenes y Contenedores Docker

Las imágenes Docker son los planos para crear contenedores. Contienen el código de la aplicación, las dependencias y la configuración necesaria para ejecutar la aplicación. Los contenedores son las instancias en ejecución de las imágenes Docker, y proporcionan un entorno aislado y consistente para ejecutar la aplicación.

Listado de Contenedores Docker en Ejecución

Una vez que tienes contenedores Docker en ejecución, es posible que necesites listar y gestionar estos. Para listar los contenedores Docker en ejecución, puedes usar el comando docker ps.

Listado de Contenedores en Ejecución

Para listar todos los contenedores Docker en ejecución, utiliza el siguiente comando:

docker ps

Esto mostrará una tabla con información sobre los contenedores en ejecución, incluyendo el ID del contenedor, la imagen utilizada para crear el contenedor, el comando que se está ejecutando, el tiempo de creación del contenedor, el estado y los puertos.

También puedes añadir opciones adicionales al comando docker ps para personalizar la salida. Por ejemplo:

docker ps -a

Esto mostrará todos los contenedores, incluyendo los que no están actualmente en ejecución.

docker ps --format "{{.ID}}\t{{.Image}}\t{{.Status}}"

Esto mostrará el ID del contenedor, la imagen y el estado en formato tabular.

Filtrado de Contenedores en Ejecución

También puedes filtrar la lista de contenedores en ejecución utilizando varias opciones. Por ejemplo:

docker ps -f "status=running"

Esto mostrará solo los contenedores que están actualmente en ejecución.

docker ps -f "name=mycontainer"

Esto mostrará solo los contenedores con el nombre "mycontainer".

docker ps --format "{{.ID}}\t{{.Image}}\t{{.Status}}" -f "status=running"

Esto mostrará el ID del contenedor, la imagen y el estado de todos los contenedores en ejecución en formato tabular.

Al comprender cómo listar los contenedores Docker en ejecución, puedes gestionar y monitorizar fácilmente los contenedores en tu entorno Docker.

Listado de Contenedores Docker Detenidos

Además de listar los contenedores en ejecución, es posible que necesites listar los contenedores detenidos o finalizados. Esto puede ser útil para la resolución de problemas, la limpieza de contenedores no utilizados o el reinicio de contenedores detenidos.

Listado de Contenedores Detenidos

Para listar todos los contenedores Docker detenidos, utiliza el siguiente comando:

docker ps -a -f "status=exited"

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

También puedes usar la opción --format para personalizar la salida:

docker ps -a -f "status=exited" --format "{{.ID}}\t{{.Image}}\t{{.Status}}"

Esto mostrará el ID del contenedor, la imagen y el estado en formato tabular.

Filtrado de Contenedores Detenidos

También puedes filtrar la lista de contenedores detenidos utilizando varias opciones. Por ejemplo:

docker ps -a -f "status=exited" -f "name=mycontainer"

Esto mostrará solo los contenedores detenidos con el nombre "mycontainer".

docker ps -a -f "status=exited" --format "{{.ID}}\t{{.Image}}\t{{.Status}}" -f "name=mycontainer"

Esto mostrará el ID del contenedor, la imagen y el estado de todos los contenedores detenidos con el nombre "mycontainer" en formato tabular.

Al comprender cómo listar los contenedores Docker detenidos, puedes gestionar y monitorizar fácilmente los contenedores en tu entorno Docker, incluso aquellos que no están actualmente en ejecución.

Resumen

Al finalizar esta guía, tendrás una comprensión sólida de cómo listar contenedores Docker en ejecución y detenidos, lo que te permitirá gestionar y solucionar problemas de tus aplicaciones basadas en Docker de manera más eficaz. Dominar estas habilidades te ayudará a optimizar tu flujo de trabajo con Docker y mantener una visión clara de tu ecosistema de contenedores.