LXC (kontejnery Linux) | |
---|---|
Typ | Virtualizace na úrovni operačního systému |
Vývojář | Daniel Lezcano, Serge Ayoun, Stéphane Grabe |
Zapsáno v | Python , Lua a Bourne shell |
Operační systém | linux |
První vydání | 6. srpna 2008 [1] |
Hardwarová platforma | x86 , x86_64 , IA-64 , PowerPC , ARM a SPARC |
Nejnovější verze |
|
Licence | GNU GPL 2 |
webová stránka |
linuxcontainers.org ( anglicky) linuxcontainers.org/… |
Mediální soubory na Wikimedia Commons |
LXC ( anglicky Linux Containers ) je kontejnerizační subsystém , který umožňuje provozovat více izolovaných instancí operačního systému Linux na jednom uzlu. LXC nepoužívá virtuální stroje , ale vytváří virtuální prostředí s vlastním procesním prostorem a síťovým zásobníkem; všechny instance LXC používají jednu instanci jádra operačního systému .
Podobně jako OpenVZ a Linux-VServer pro Linux, stejně jako vězení FreeBSD a Solaris Containers . Používá technologie cgroup a jmenného prostoru zahrnuté v jádře Linuxu od verze 2.6.29.
Hlavními vývojáři jsou Daniel Lezcano , Serge Ayun ( Serge Hallyn ) a Stephane Grabe ( Stéphane Graber ).
Mezi případy použití patří použití Heroku v hostingu PaaS k izolaci dynamických kontejnerů ( dynos ). Projekt Docker vyvinul komponenty, které LXC poskytují služby správy a nasazení na vysoké úrovni.
Zpočátku kontejnery LXC nepodporovaly dostatečně vysokou úroveň izolace ve srovnání s kontejnery založenými na dřívější technologii OpenVZ . Konkrétně v linuxovém jádře před verzí 3.8 může uživatel root kontejneru LXC spouštět libovolný kód na nadřazeném operačním systému : je to možné díky skutečnosti, že uid 0 uvnitř kontejneru je stejné jako uid 0 základního systém (ve kterém kontejner běží). S vydáním LXC verze 1.0 je tento problém vyřešen zavedením „neprivilegovaných kontejnerů“ – kde uid 0 v kontejneru odpovídá neprivilegovanému uživateli mimo a má rozšířená práva pouze na své vlastní zdroje. LXC starší než verze 1.0 lze zabezpečit různými přístupovými kontrolami a filtry pomocí apparmor , selinux a podobně [2] .