LXC (Contenedores Linux) | |
---|---|
Tipo de | Virtualización a nivel de sistema operativo |
Desarrollador | Daniel Lezcano, Serge Ayoun, Stéphane Grabe |
Escrito en | Concha de Python , Lua y Bourne |
Sistema operativo | linux |
Primera edición | 6 de agosto de 2008 [1] |
plataforma de hardware | x86 , x86_64 , IA-64 , PowerPC , ARM y SPARC |
ultima versión |
|
Licencia | GNU GPL 2 |
Sitio web |
linuxcontainers.org ( inglés) linuxcontainers.org/… |
Archivos multimedia en Wikimedia Commons |
LXC ( English Linux Containers ) es un subsistema de contenedores que le permite ejecutar múltiples instancias aisladas del sistema operativo Linux en un solo nodo. LXC no utiliza máquinas virtuales , sino que crea un entorno virtual con su propio espacio de proceso y pila de red; todas las instancias de LXC usan una instancia del kernel del sistema operativo .
Similar a OpenVZ y Linux-VServer para Linux, así como FreeBSD jail y Solaris Containers . Utiliza tecnologías cgroup y namespace incluidas en el kernel de Linux desde la versión 2.6.29.
Los principales desarrolladores son Daniel Lezcano , Serge Ayun ( Serge Hallyn ) y Stephane Grabe ( Stéphane Graber ).
Entre los casos de uso está el uso de Heroku en alojamiento PaaS para aislar contenedores dinámicos ( dynos ). El proyecto Docker ha desarrollado componentes que brindan a LXC servicios de administración e implementación de alto nivel.
Inicialmente, los contenedores LXC no admitían un nivel suficientemente alto de aislamiento en comparación con los contenedores basados en la tecnología OpenVZ anterior . En particular, en el kernel de Linux anterior a la versión 3.8, el usuario raíz de un contenedor LXC puede ejecutar código arbitrario en el sistema operativo principal : esto es posible debido al hecho de que el uid 0 dentro del contenedor es el mismo que el uid 0 de la base sistema (en el que se ejecuta el contenedor). Con el lanzamiento de la versión 1.0 de LXC, este problema se solucionó con la introducción de "contenedores sin privilegios", donde el uid 0 en el contenedor corresponde a un usuario externo sin privilegios y tiene derechos extendidos solo para sus propios recursos. LXC anterior a la versión 1.0 se puede asegurar con varios controles de acceso y filtros usando apparmor , selinux y similares [2] .