LXC (Linux Containers) is an operating system-level virtualization method that enables multiple Linux systems running in isolation from each other on a single host.

Unlike other systems, LXC does not realize its virtualization by means of virtual machines. Instead, LXC creates a virtual environment that has its own processes but shares the host system's kernel for them.

LXC consists of a program library, various APIs for Python, Lua and Go, container templates and tools for controlling the containers. Those uses beside kernel namespaces further functions of the Linux kernel, like SELinux and cgroups.

While the kernel namespaces seal off the processes from others (processes outside the namespaces are not visible) the cgroups provide resource management. Hereby for example the memory size can be limited, the data throughput in the network or on disks be limited or the number of the available CPUs be determined.

LXC provides an extended chroot environment and can in this respect be compared with FreeBSD jails and Linux VServers.