Diferencia entre revisiones de «Conceptos básicos sobre contenedores»
(Página creada con «Los contenedores son un mecanismo de aislamiento de procesos (también llamado sandboxing) disponible en sistemas Linux, que permite ejecutar aplicaciones de forma independ...») |
(Sin diferencias)
|
Revisión actual del 15:10 5 oct 2025
Los contenedores son un mecanismo de aislamiento de procesos (también llamado sandboxing) disponible en sistemas Linux, que permite ejecutar aplicaciones de forma independiente y segura, como si estuvieran en un entorno propio. A diferencia de las máquinas virtuales, los contenedores no requieren emular un sistema operativo completo, lo que los hace más ligeros y eficientes.
En Linux se logra mediante la llamada al sistema unshare que permite aislar al proceso a diferentes niveles:
- Usuario: se aísla los usuarios del contenedor respecto al sistema anfitrión, se realiza un mapeo de los usuarios a un nuevo espacio de UID diferente. El usuario que ejecuta el contenedor se convierte en administrador (root) dentro de él, y el resto de usuarios reciben diferentes UID a los del sistema.
- Red: se ocultan las interfaces y configuraciones de red del sistema operativo. Se pueden crear interfaces virtuales (veth) para conectar al contenedor con el exterior o con otros contenedores.
- Proceso: Desvincula el árbol de procesos del contenedor del sistema anfitrión. El proceso solo ve sus propios procesos, deja de ver su procesos y el resto de procesos del sistema.
- Sistema de archivos: Redefine los puntos de montaje visibles para el proceso, permitiendo que solo acceda a una parte específica del sistema de archivos (por ejemplo, una carpeta concreta). El resto del sistema de ficheros queda oculto.
A un proceso que combina estos cuatro niveles de aislamiento se le denomina contenedor. Los contenedores ofrecen un sandbox que se trata de un espacio aislado que es conveniente para:
- Desarrollo y pruebas: Ejecutar aplicaciones en entornos aislados y reproducibles.
- Despliegue de servicios: Implementar microservicios de forma eficiente y escalable.
- Seguridad: Ofrecen un capa de aislamiento frente a posibles vulnerabilidades.
Los contenedores se pueden ver como un mecanismo de virtualización ligera, pues ofrecen una escalabilidad varios órdenes de magnitud frente a las máquinas virtuales, no obstante:
- Solo permite la ejecución de Linux dentro del contenedor, no es posible combinar diferentes sistemas operativos. Sí es posible combinar diferentes distribuciones de Linux.
- Ofrecen un menor grado de aislamiento que una máquina virtual desde el punto de vista de seguridad y fiabilidad, pues los contenedores hacen uso del mismo núcleo del sistema operativo. No obstante, la extensiones de aceleración de virtualización por hardware y la paravirtualización exponen más aspectos del hardware y sistema operativo antifrión a la máquina virtual.