LXC (Linux Containers) ist ein Verfahren zur Virtualisierung auf Betriebssystemebene, das mehrere voneinander isoliert laufende Linux-Systeme auf einem einzigen Host ermöglicht.

Im Gegensatz zu anderen Systemen realisiert LXC seine Virtualisierung nicht mittels virtueller Maschinen. Stattdessen erzeugt LXC eine virtuelle Umgebung, die zwar ihre eigenen Prozesse besitzt, doch für diese gemeinschaftlich den Kernel des Hostsystems nutzt.

LXC besteht aus einer Programmbibliothek, diversen APIs für Python, Lua und Go, Containervorlagen sowie Werkzeugen zur Kontrolle der Container. Jene verwendet neben Kernelnamensräumen weitere Funktionen des Linux-Kernels, wie etwa SELinux und cgroups.

Während die Kernelnamensräume die Prozesse von anderen abschotten (Prozesse außerhalb der Namensräume sind nicht sichtbar) sorgen die cgroups für eine Ressourcenverwaltung. Hierüber kann zum Beispiel die Speichergröße eingeschränkt, der Datendurchsatz im Netzwerk oder auf Festplatten begrenzt oder die Zahl der verfügbaren CPUs bestimmt werden.

LXC stellt eine erweiterte chroot-Umgebung zur Verfügung und lässt sich insofern mit FreeBSD-Jails und Linux-VServer vergleichen.