Sobes.tech
Junior

¿En qué principios se basa Docker?

sobes.tech AI

Respuesta de la IA

Docker funciona sobre los siguientes principios clave:

  • Contenerización: Aislamiento de aplicaciones y sus dependencias en módulos estandarizados y portátiles (contenedores).
  • Imágenes: Paquetes ejecutables ligeros y autónomos que incluyen todo lo necesario para ejecutar una aplicación (código, bibliotecas, herramientas del sistema, configuraciones). Se construyen paso a paso usando Dockerfile.
  • Capas: Las imágenes están compuestas por capas. Cada capa representa un conjunto de cambios en el sistema de archivos. Las capas se almacenan en caché y pueden ser reutilizadas por diferentes imágenes, ahorrando espacio y acelerando la construcción.
  • Aislamiento: Los contenedores utilizan mecanismos de aislamiento del núcleo de Linux (namespaces y cgroups) para separar procesos, sistemas de archivos, redes y otros recursos del sistema host y otros contenedores.
  • Inmutabilidad de las imágenes: Cuando se inicia un contenedor basado en una imagen, la propia imagen no cambia. Todos los cambios dentro del contenedor ocurren en una capa de escritura sobre la imagen base, que se elimina junto con el contenedor (si no se usan volúmenes).
  • Portabilidad: Un contenedor desarrollado y construido en un entorno puede ejecutarse en cualquier otro entorno donde esté instalado Docker, sin requerir configuraciones adicionales de dependencias en el host.
  • Enfoque declarativo: Dockerfile describe el proceso de construcción de la imagen en un estilo declarativo, haciéndola reproducible y automatizable.

Ejemplo de Dockerfile:

# Usamos una imagen base con Alpine Linux
FROM alpine:latest

# Instalamos el paquete curl
RUN apk add --no-cache curl

# Especificamos el comando a ejecutar al iniciar el contenedor
CMD ["curl", "https://www.example.com"]