Ir al contenido

Conceptos 02 - Ecosistema y ciclo de vida de contenedores

Desde la construcción de una imagen hasta la ejecución del contenedor, el ecosistema ofrece herramientas especializadas para cada etapa. Explore primero los conceptos y después las principales herramientas y familias del ecosistema.

  • 3 conceptos
  • 6 herramientas y familias
  • 4 elementos interactivos
  • Autoevaluación final
Parte 1

Conceptos

Concepto 1 de 9

Ciclo de vida de contenedores

La secuencia general de trabajo, desde la construcción del artefacto hasta la operación de la instancia.

Recorre los cuatro pasos. Observa cómo se agrupan en dos fases y qué comando de Docker corresponde a cada uno.

Construcción del artefacto · paso 1 de 4

Construir la imagen

Empaquetar la aplicación y sus dependencias en un artefacto inmutable.

docker build -t mi-app:1.0 .

Resultado: Una imagen mi-app:1.0 en el equipo local.

Concepto 2 de 9

Arquitectura conceptual mínima

Cuatro elementos que, comprendidos con claridad, facilitan el entendimiento del resto del ecosistema.

Imagen

El paquete inmutable que contiene la aplicación y todo lo necesario para ejecutarla.

Contenedor

La instancia en ejecución derivada de una imagen.

Runtime

El componente encargado de ejecutar el contenedor y aplicar los mecanismos de aislamiento.

Kernel compartido

La base que habilita la ligereza del modelo. Los contenedores no arrancan su propio kernel.

Estos cuatro elementos se explican en detalle, con ejemplos interactivos, en Conceptos 01.

Concepto 3 de 9

Panorama del ecosistema

Ejes de análisis para comparar las herramientas disponibles en el ecosistema actual de contenedores.

Elige un eje para ver cómo se diferencian las herramientas que presenta esta lectura. Cada opción enlaza con la sección donde se explica.

¿Con qué se construye la imagen?

  • BuildKit

    Motor de construcción de Docker, con manejo avanzado de caché y paralelismo.

    Ver en la lectura →
  • Buildah

    Construcción de imágenes compatible con OCI, sin necesidad de un demonio.

    Ver en la lectura →
Parte 2

Herramientas y familias del ecosistema

Concepto 4 de 9

Docker, BuildKit y containerd

Ecosistema modular y maduro, ampliamente adoptado en desarrollo y despliegue.

BuildKit

Optimiza la construcción de imágenes con manejo avanzado de caché y paralelismo.

containerd

Runtime estándar en la industria, utilizado como base por múltiples herramientas y plataformas.

Moby

Componentes open source sobre los que se construye el stack de Docker.

Dónde se usa

  • Desarrollo local
  • Pipelines de CI/CD
  • Despliegues en producción y nube

Concepto 5 de 9

Podman, Buildah y runtimes OCI

Enfoque más cercano al sistema operativo y a la seguridad, con arquitectura sin demonio.

Rasgos

  • Sin demonio
  • Ejecución rootless
  • Prácticas nativas de Linux

Compara la cadena de procesos que va desde la orden del usuario hasta el contenedor en cada modelo.

Docker · con demonio

  1. dockerCLI del usuario: envía la orden al demonio.
  2. dockerdDemonio central: recibe las órdenes y gestiona todos los contenedores.
  3. containerdRuntime que administra el ciclo de vida del contenedor.
  4. containerd-shimSupervisa el contenedor. runc lo crea y luego finaliza.
  5. appProceso de la aplicación dentro del contenedor.
Demonio central
Sí: dockerd
Usuario habitual
root por defecto (existe un modo rootless)
Supervisa cada contenedor
containerd-shim, bajo containerd

Buildah

Construcción de imágenes compatible con OCI.

runc

Runtime de bajo nivel compatible con OCI.

Entornos que priorizan

  • Seguridad
  • Control operativo
  • Flexibilidad

Concepto 6 de 9

containerd en Kubernetes

Runtime ampliamente utilizado en entornos Kubernetes, capaz de operar de forma independiente de Docker.

  1. ConstrucciónBuildKit / Docker
  2. Ejecucióncontainerd
  3. OrquestaciónKubernetes

Concepto 7 de 9

LXC, LXD e Incus

Contenedores de sistema con una experiencia más cercana a un sistema completo.

LXC

Base ligera para contenedores a nivel de sistema.

LXD

Facilitó la gestión de este modelo durante varios años.

Incus

Continúa la evolución del modelo en el ecosistema comunitario.

Dónde se usa

  • Laboratorios
  • Experiencia cercana a VMs
  • Múltiples servicios en un contenedor

La diferencia entre ambos modelos se compara en Conceptos 01.

Concepto 8 de 9

Contenedores en Windows

Dos tipos de contenedores Windows con diferentes niveles de aislamiento.

Windows Server Containers

Comparten el kernel de Windows y utilizan mecanismos nativos de aislamiento. Conceptualmente similares a los contenedores en Linux, pero limitados a binarios compatibles con Windows.

Kernel
Comparten el kernel de Windows del host
Aislamiento
Mecanismos nativos de Windows
Ligereza
Mayor
Integración
Docker y Kubernetes

Hyper-V Containers

Mayor aislamiento

Ejecutan cada contenedor dentro de una VM liviana con Hyper-V. Ofrecen mayor aislamiento. Son adecuados para escenarios multitenant o con requisitos de seguridad más estrictos.

Kernel
Cada contenedor corre en una VM liviana con Hyper-V
Aislamiento
Separación más fuerte entre instancias
Ligereza
Algo menor, a cambio de más aislamiento
Integración
Docker y Kubernetes

Concepto 9 de 9

Interoperabilidad y OCI

La Open Container Initiative define las especificaciones estándar que permiten la interoperabilidad entre herramientas.

Formato de imágenes

OCI define especificaciones para el formato de las imágenes.

Runtime de ejecución

OCI define especificaciones para runtimes compatibles.

Combina una herramienta de construcción con una de ejecución. La imagen OCI viaja de una a otra sin cambios.

Construcción

Ejecución

✓ Compatible

Docker construye con BuildKit y produce una imagen compatible con OCI.

containerd descarga la imagen del registro, la desempaqueta y delega en runc la creación del contenedor.

Combinaciones probadas: 1 de 6 · todas compatibles

Autoevaluación

Comprueba lo que aprendiste

Cinco preguntas rápidas para verificar las ideas clave de la lectura. Cada respuesta incluye una explicación.

  1. 1¿Qué pasos del ciclo de vida corresponden a la construcción del artefacto?
  2. 2¿Qué distingue el modelo operativo de Podman frente al de Docker?
  3. 3Una imagen construida con Docker, ¿puede ejecutarse con containerd en Kubernetes?
  4. 4¿Con qué modelo de contenedores se asocian LXC, LXD e Incus?
  5. 5¿Qué se gana y qué se sacrifica con los Hyper-V Containers?

0/5 respuestas correctas