Container and virtualization tools

linuxcontainers.org is the umbrella project behind LXD, LXC, LXCFS and distrobuilder.

The goal is to offer a distro and vendor neutral environment for the development of Linux container technologies.

Our focus is providing containers and virtual machines that run full Linux systems. While VMs supply a complete environment, system containers offer an environment as close as possible to the one you'd get from a VM, but without the overhead that comes with running a separate kernel and simulating all the hardware.

Active projects

LXD

LXD is a next generation system container and virtual machine manager. It offers a unified user experience around full Linux systems running inside containers or virtual machines.

LXD is image based and provides images for a wide number of Linux distributions. It provides flexibility and scalability for various use cases, with support for different storage backends and network types and the option to install on hardware ranging from an individual laptop or cloud instance to a full server rack.

When using LXD, you can manage your instances (containers and VMs) with a simple command line tool, directly through the REST API or by using third-party tools and integrations. LXD implements a single REST API for both local and remote access.

LXC

LXC is a well-known Linux container runtime that consists of tools, templates, and library and language bindings. It's pretty low level, very flexible and covers just about every containment feature supported by the upstream kernel.

LXC provides the basic functionality used under the hood by LXD. However, it should not be confused with the lxc CLI client tool provided by LXD.

Learn more

LXCFS

LXCFS is a userspace (FUSE) filesystem which offers:

  • Overlay files for cpuinfo, meminfo, stat and uptime.
  • A cgroupfs compatible tree allowing unprivileged writes.

It's designed to work around the shortcomings of procfs, sysfs and cgroupfs by exporting files that match what a system container user would expect.

Learn more

distrobuilder

distrobuilder is an image building tool for LXC/LXD which offers:

  • Complex image definition as a simple YAML document.
  • Multiple output formats (chroot, LXD, LXC).
  • Support for a lot of distributions and architectures.

distrobuilder's modern design utilises pre-built official images whenever available, uses a declarative image definition (YAML) and supports a variety of modifications on the base image.

Learn more

Deprecated projects

CGManager

CGManager is a cgroup manager daemon designed to allow nested unprivileged containers to be able to create and manage their cgroups through a DBus API.

Learn more ›