LXD is a system container and virtual machine manager
With LXD you can run hundreds of containers of a variety of Linux distributions, apply resource limits, pass in directories, USB devices or GPUs and setup any network and storage you want.
LXD containers are lightweight, secure by default and a great alternative to running Linux virtual machines.
If you want to run other Operating Systems or special Linux workloads, you can use LXD virtual machines instead
Run any Linux distribution you want
Pre-made images are available for Ubuntu, Alpine Linux, ArchLinux, CentOS, Debian, Fedora, Gentoo, OpenSUSE and more.
A full list of available images can be found here: https://images.linuxcontainers.org
Can't find the distribution you want? It's easy to make your own images too, either using our
distrobuilder tool or by assembling your own image tarball by hand.
Containers and VMs at scale
LXD is network aware and all interactions go through a simple REST API, making it possible to remotely interact with instances on remote systems, copying and moving them as you wish.
Want to go big? LXD also has built-in clustering support, letting you turn dozens of servers into one big LXD server.
Supported options for the LXD snap (
snap set lxd KEY=VALUE):
- ceph.builtin: Use snap-specific Ceph configuration [default=false]
- ceph.external: Use the system's ceph tools (ignores ceph.builtin) [default=false]
- criu.enable: Enable experimental live-migration support [default=false]
- daemon.debug: Increase logging to debug level [default=false]
- daemon.group: Set group of users that can interact with LXD [default=lxd]
- daemon.preseed: Pass a YAML configuration to
lxd initon initial start
- daemon.syslog: Send LXD log events to syslog [default=false]
- lvm.external: Use the system's LVM tools [default=false]
- lxcfs.pidfd: Start per-container process tracking [default=false]
- lxcfs.loadavg: Start tracking per-container load average [default=false]
- lxcfs.cfs: Consider CPU shares for CPU usage [default=false]
- openvswitch.builtin: Run a snap-specific OVS daemon [default=false]
- shiftfs.enable: Enable shiftfs support [default=auto]