Incus has joined LinuxContainers
Container and virtualization tools
linuxcontainers.org is the umbrella project behind LXC, LXCFS, distrobuilder, libresource and lxcri.
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.
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.
Incus (a fork of LXD) is a container and virtual-machine manager.
Based on LXC for containers and QEMU for virtual machines, it offers a seamless cloud-like experience scaling from a developer's laptop to a full cluster of up to 50 servers.
In addition to managing containers and VMs, Incus also provides a variety of options to manage storage and network.
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.
distrobuilder is an image building tool for containers and virtual machines:
- 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.
library of interfaces through which we can get system resource information like memory, CPU, stat, networking, device etc. Currently most of such information is read from /proc and /sys.
lxcri is a wrapper around LXC which can be used as a drop-in container runtime replacement for use by CRI-O.
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.