LXC (Linux Containers)

LXC, short for Linux Containers, is described on its own project page as “a userspace interface for the Linux kernel containment features.” It lets users create and manage system or application containers, and the project positions it as the middle ground “between a chroot and a full fledged virtual machine.” Rather than booting a separate kernel as a virtual machine does, an LXC container shares the host kernel while behaving like an isolated system.

The LXC introduction page lists exactly the kernel primitives it relies on: “Kernel namespaces (ipc, uts, mount, pid, network and user)” together with “CGroups (control groups),” plus additional hardening features. In other words, LXC is a userspace orchestration of the two kernel features, namespaces and cgroups, that together define what a container is. It was among the first toolsets to package these primitives into a complete, usable container runtime.

LXC’s historical importance extends beyond its own use. The early versions of Docker were built directly on top of LXC, using it as the execution driver that actually created containers before Docker later replaced it with its own runtime (libcontainer, which became the basis for runc). LXC thus sits at the root of the modern container lineage.

The project remains actively maintained under the linuxcontainers.org umbrella, with the introduction page listing long-term support commitments for recent releases such as LXC 5.0 and LXC 6.0.

Sources

Last verified June 8, 2026