CodeGym /Cursos /Docker SELF /Verificación del estado de los contenedores

Verificación del estado de los contenedores

Docker SELF
Nivel 11 , Lección 2
Disponible

3.1 Fundamentos del comando docker ps

El comando docker ps es uno de los más útiles en el arsenal de Docker. Muestra una lista de contenedores en ejecución y proporciona información sobre ellos. En esta lección vamos a profundizar en cómo utilizar docker ps para verificar el estado de tus contenedores y qué parámetros están disponibles para obtener una salida más detallada.

Por defecto, el comando docker ps muestra únicamente los contenedores que están actualmente en ejecución.

Sintaxis

Terminal

docker ps [OPTIONS]

Dónde:

  • OPTIONS: parámetros adicionales para filtrar y formatear la salida.

Ejemplo de uso básico

Terminal


docker ps 

Esta llamada básica al comando docker ps mostrará una lista de todos los contenedores en ejecución. La salida incluirá los siguientes campos:

  • CONTAINER ID: identificador único del contenedor.
  • IMAGE: la imagen a partir de la cual se creó el contenedor.
  • COMMAND: el comando que se está ejecutando en el contenedor.
  • CREATED: el tiempo desde que se creó el contenedor.
  • STATUS: el estado actual del contenedor (por ejemplo, Up 5 minutes).
  • PORTS: los puertos redirigidos.
  • NAMES: el nombre del contenedor.

Lista de todos los contenedores

Para ver todos los contenedores, incluidos los detenidos, utiliza la opción -a:

Terminal


docker ps -a 

Este comando mostrará una lista de todos los contenedores que alguna vez se iniciaron, indicando su estado actual (en ejecución, detenido, etc.).

3.2 Filtrado de salida

Docker ofrece la posibilidad de filtrar la salida del comando docker ps para mostrar solo los contenedores que cumplan con los criterios especificados.

1. Filtrado por estado

Por ejemplo, para mostrar solo los contenedores detenidos:

Terminal


docker ps -f "status=exited" 

2. Filtrado por nombre

Para mostrar los contenedores con un nombre específico o una parte de él:

Terminal


docker ps -f "name=my_container"

3. Filtrado por imagen

Para mostrar los contenedores creados a partir de una imagen específica:

Terminal

docker ps -f "ancestor=nginx"

3.3 Formateo de salida

Puedes personalizar la salida del comando docker ps para que sea más legible o incluir solo los campos que necesitas. Para esto, se utiliza el parámetro --format.

Ejemplo de formateo

Terminal


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

Este ejemplo muestra una tabla con el identificador del contenedor, su nombre y su estado.

Columnas disponibles en la tabla

  • {{.ID}}: identificador del contenedor.
  • {{.Image}}: imagen del contenedor.
  • {{.Command}}: comando ejecutado en el contenedor.
  • {{.CreatedAt}}: fecha y hora de creación del contenedor.
  • {{.RunningFor}}: tiempo que lleva el contenedor ejecutándose.
  • {{.Status}}: estado actual del contenedor.
  • {{.Ports}}: puertos redirigidos.
  • {{.Names}}: nombre del contenedor.

Ejemplos de uso

Ejemplo 1: mostrar solo los identificadores de los contenedores

Este ejemplo mostrará solo los identificadores de los contenedores en ejecución. Útil para usar en scripts.

Terminal


docker ps -q

Ejemplo 2: mostrar contenedores iniciados en las últimas 24 horas

Terminal


docker ps --filter "since=24h" 

Ejemplo 3: mostrar contenedores con un estado específico y formatear la salida

Este ejemplo mostrará una tabla con los nombres de los contenedores, su estado y los puertos redirigidos para todos los contenedores en ejecución.

Terminal


docker ps -f "status=running" --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}" 

3.4 Escenarios prácticos

1. Monitoreo de contenedores en ejecución

Cuando tienes varios contenedores ejecutándose, el comando docker ps te permite verificar rápidamente su estado actual y asegurarte de que todo funcione correctamente.

Terminal


docker ps 

2. Encontrar y eliminar contenedores detenidos

Después de que los contenedores completan su trabajo, permanecen en el sistema hasta que los elimines. Puedes usar docker ps -a para encontrar todos los contenedores detenidos y luego eliminarlos.

Terminal

docker ps -a -f "status=exited" 
docker rm $(docker ps -a -f "status=exited" -q)
    

3. Automatización de tareas

Usar el comando docker ps en scripts permite automatizar varias tareas de administración de contenedores. Por ejemplo, puedes generar reportes sobre el estado de los contenedores o reiniciarlos automáticamente si están detenidos.

Terminal

if [ $(docker ps -q -f "name=my_container") ]; then
  echo "El contenedor está en ejecución"
else
  docker start my_container
fi
    

¡Importante! Este “código” está escrito en el terminal de Linux. Tal vez necesites aprender cómo usarlo.

Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION