Cómo ver el inventario de contenedores Docker

DockerBeginner
Practicar Ahora

Introducción

Docker ha revolucionado la implementación de software al proporcionar soluciones de contenedorización ligeras y portátiles. Comprender cómo visualizar y gestionar el inventario de contenedores Docker es crucial para desarrolladores y administradores de sistemas. Este tutorial te guiará a través de varios métodos para listar, inspeccionar y realizar un seguimiento de los contenedores Docker en diferentes escenarios.

Descripción General de los Contenedores Docker

¿Qué es un Contenedor Docker?

Un contenedor Docker es un paquete ligero, autónomo y ejecutable que incluye todo lo necesario para ejecutar un software, incluyendo el código, el entorno de ejecución, las herramientas del sistema, las bibliotecas y la configuración. Los contenedores proporcionan un entorno consistente y reproducible para las aplicaciones en diferentes plataformas informáticas.

Características Clave de los Contenedores Docker

Aislamiento

Los contenedores aíslan las aplicaciones del sistema host y de otros contenedores, asegurando que cada aplicación se ejecute en su propio entorno sin interferir con las demás.

graph TD A[Sistema Operativo Host] --> B[Contenedor 1] A --> C[Contenedor 2] A --> D[Contenedor 3]

Portabilidad

Los contenedores pueden ejecutarse de forma consistente en diferentes entornos, desde desarrollo hasta producción, reduciendo los problemas de "funciona en mi máquina".

Eficiencia

Los contenedores son más eficientes en cuanto a recursos en comparación con las máquinas virtuales tradicionales, ya que comparten el kernel del sistema host y requieren menos sobrecarga.

Contenedor vs Máquina Virtual

Característica Contenedor Docker Máquina Virtual
Uso de Recursos Ligero Pesado
Tiempo de Inicio Segundos Minutos
Nivel de Aislamiento Nivel de proceso Sistema completo
Rendimiento Alto Menor

Casos de Uso Comunes

  1. Arquitectura de microservicios
  2. Integración Continua/Entrega Continua (CI/CD)
  3. Desarrollo de aplicaciones nativas de la nube
  4. Entornos de desarrollo y pruebas

Flujo de Trabajo Básico de un Contenedor Docker

graph LR A[Imagen Docker] --> B[Crear Contenedor] B --> C[Iniciar Contenedor] C --> D[Ejecutar Aplicación] D --> E[Detener Contenedor] E --> F[Eliminar Contenedor]

Introducción a LabEx

Para un aprendizaje práctico y una experiencia con contenedores Docker, LabEx proporciona entornos interactivos y tutoriales completos para ayudar a los desarrolladores a dominar las tecnologías de contenedores.

Visualización del Inventario de Contenedores

Comandos Básicos para Listar Contenedores Docker

Listar Contenedores en Ejecución

Para ver los contenedores actualmente en ejecución, utiliza el comando docker ps:

docker ps

Listar Todos los Contenedores (Incluidos los Detenidos)

Para ver todos los contenedores, incluyendo los detenidos:

docker ps -a

Técnicas Avanzadas para Listar Contenedores

Filtrar Contenedores

Docker proporciona potentes opciones de filtrado para ver contenedores específicos:

## Filtrar por estado
docker ps -f "status=running"

## Filtrar por imagen
docker ps -f "ancestor=ubuntu:latest"

Formato de Salida Personalizado

Personaliza la lista de contenedores con columnas específicas:

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

Visualización del Inventario de Contenedores

graph TD A[Comando Docker] --> B{Tipo de Listado} B --> |Contenedores en Ejecución| C[docker ps] B --> |Todos los Contenedores| D[docker ps -a] B --> |Contenedores Filtrados| E[docker ps -f]

Información Detallada del Contenedor

Inspeccionar un Contenedor Específico

Obtener información detallada sobre un contenedor específico:

docker inspect [CONTAINER_ID]

Atributos del Inventario del Contenedor

Atributo Descripción Ejemplo
ID del Contenedor Identificador único del contenedor a1b2c3d4e5f6
IMAGEN Imagen base utilizada ubuntu:latest
COMANDO Comando en ejecución /bin/bash
CREADO Hora de creación del contenedor 2 horas atrás
ESTADO Estado actual del contenedor En funcionamiento 45 minutos
PUERTOS Puertos expuestos 80/tcp
NOMBRES Nombre del contenedor friendly_newton

Consejo de LabEx Pro

Al trabajar con inventarios de contenedores Docker, LabEx recomienda practicar estos comandos en un entorno controlado para desarrollar la memoria muscular y la comprensión.

Escenarios Prácticos

  1. Monitorear el ciclo de vida del contenedor
  2. Solucionar problemas en las implementaciones de contenedores
  3. Administrar múltiples entornos de contenedores
  4. Auditar los recursos de los contenedores

Técnicas de Administración de Contenedores

Administración del Ciclo de Vida de los Contenedores

Iniciar Contenedores

Inicia un contenedor usando el comando docker start:

docker start [CONTAINER_ID]

Detener Contenedores

Detén un contenedor en ejecución de forma controlada:

docker stop [CONTAINER_ID]

Reiniciar Contenedores

Reinicia un contenedor con un solo comando:

docker restart [CONTAINER_ID]

Flujo de Trabajo del Ciclo de Vida del Contenedor

graph TD A[Crear Contenedor] --> B[Iniciar Contenedor] B --> C{Estado del Contenedor} C --> |En Ejecución| D[Ejecutar Comandos] C --> |Detenido| E[Reiniciar/Eliminar] D --> F[Detener Contenedor] F --> G[Eliminar Contenedor]

Administración Avanzada de Contenedores

Ejecutar Contenedores de Forma Interactiva

Inicia un shell interactivo dentro de un contenedor:

docker run -it ubuntu:latest /bin/bash

Ejecutar Comandos en Contenedores en Ejecución

Ejecuta comandos en un contenedor activo:

docker exec [CONTAINER_ID] command

Administración de Recursos del Contenedor

Limitar Recursos del Contenedor

Controla el uso de CPU y memoria:

docker run --cpus=2 --memory=1g ubuntu:latest

Monitoreo del Uso de Recursos

Rastrea el rendimiento del contenedor:

docker stats [CONTAINER_ID]

Técnicas de Administración de Contenedores

Técnica Comando Descripción
Crear docker create Preparar contenedor sin iniciar
Ejecutar docker run Crear e iniciar contenedor
Detener docker stop Detener contenedor de forma controlada
Eliminar docker rm Eliminar contenedor
Pausar docker pause Congelar temporalmente el contenedor

Redes de Contenedores

Mapeo de Puertos

Exponer puertos de contenedor al host:

docker run -p 8080:80 nginx:latest

Creación de Redes Personalizadas

Crear redes de contenedores aisladas:

docker network create mynetwork
docker run --network=mynetwork nginx:latest

Copia de Seguridad y Migración de Contenedores

Crear una Instantánea del Contenedor

Generar una imagen a partir de un contenedor en ejecución:

docker commit [CONTAINER_ID] myimage:backup

Exportar Contenedor

Guardar el estado del contenedor para migración:

docker export [CONTAINER_ID] > container.tar

Recomendación de LabEx

Para una administración completa de contenedores Docker, LabEx sugiere practicar estas técnicas en un entorno simulado controlado para desarrollar habilidades prácticas.

Buenas Prácticas

  1. Siempre utiliza límites de recursos.
  2. Implementa un monitoreo adecuado de los contenedores.
  3. Limpia regularmente los contenedores no utilizados.
  4. Utiliza control de versiones para las configuraciones de los contenedores.
  5. Implementa escaneo de seguridad.

Resumen

Dominar la gestión del inventario de contenedores Docker es esencial para mantener un entorno contenedorizado robusto y eficiente. Al aprovechar los comandos de la línea de comandos de Docker y las técnicas avanzadas de filtrado, puedes obtener información completa sobre tus contenedores en ejecución y detenidos, lo que permite una mejor gestión de recursos y monitoreo del sistema.