Need advice about which tool to choose?Ask the StackShare community!


+ 1

+ 1
Add tool

LXC vs LXD: What are the differences?

  1. Containerization technology: LXC is a Linux containerization technology that provides lightweight virtualization and enables running multiple isolated Linux systems on a single Linux host. On the other hand, LXD is a system container manager that is designed to manage LXC containers and provides a more comprehensive and user-friendly interface for working with containers.
  2. REST API and CLI: LXC primarily uses a command-line interface (CLI) for managing containers, while LXD offers both a CLI and a REST API to interact with containers. The REST API allows for programmatic control of containers, enabling automation and integration with other systems.
  3. Image management: LXC relies on manually created container images, and users have to maintain them. In contrast, LXD provides a centralized image registry where pre-configured container images are available for download. This makes it easier to manage and share container images across different hosts.
  4. Live migration: LXD supports live migration, which allows containers to be moved between different hosts without interruptions in service. This feature is not available in LXC, making it more difficult to balance container workloads across multiple hosts.
  5. Resource control: LXD offers more extensive resource control capabilities compared to LXC. It allows for fine-grained control over CPU, memory, network, and storage resources of containers, enabling better optimization and isolation. LXC provides more basic resource control options.
  6. Snapshots and container state: LXD allows for the creation of snapshots, which are point-in-time copies of the container's filesystem and configuration. This enables easy rollback to previous states or the creation of new containers from snapshots. LXC does not natively provide snapshot functionality.

In summary, LXD builds upon LXC and provides additional features such as a comprehensive REST API, image management, live migration, enhanced resource control, and snapshot capabilities, making it a more advanced and user-friendly system container manager.

Decisions about LXC and LXD
Florian Sager
IT DevOp at Agitos GmbH · | 3 upvotes · 435.4K views

lxd/lxc and Docker aren't congruent so this comparison needs a more detailed look; but in short I can say: the lxd-integrated administration of storage including zfs with its snapshot capabilities as well as the system container (multi-process) approach of lxc vs. the limited single-process container approach of Docker is the main reason I chose lxd over Docker.

See more
Get Advice from developers at your company using StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More
Pros of LXC
Pros of LXD
  • 5
    Easy to use
  • 4
  • 3
    Simple and powerful
  • 3
    Good security
  • 2
  • 1
  • 1
  • 10
    More simple
  • 8
    Open Source
  • 8
  • 8
  • 7
  • 5
    Multiprocess isolation (not single)
  • 5
  • 5
    I like the goal of the LXD and found it to work great
  • 4
    Full OS isolation
  • 3
  • 3
    More stateful than docker
  • 2
    Systemctl compatibility

Sign up to add or upvote prosMake informed product decisions

- No public GitHub repository available -

What is LXC?

LXC is a userspace interface for the Linux kernel containment features. Through a powerful API and simple tools, it lets Linux users easily create and manage system or application containers.

What is LXD?

LXD isn't a rewrite of LXC, in fact it's building on top of LXC to provide a new, better user experience. Under the hood, LXD uses LXC through liblxc and its Go binding to create and manage the containers. It's basically an alternative to LXC's tools and distribution template system with the added features that come from being controllable over the network.

Need advice about which tool to choose?Ask the StackShare community!

What companies use LXC?
What companies use LXD?
See which teams inside your own company are using LXC or LXD.
Sign up for StackShare EnterpriseLearn More

Sign up to get full access to all the companiesMake informed product decisions

What tools integrate with LXC?
What tools integrate with LXD?
What are some alternatives to LXC and LXD?
The Docker Platform is the industry-leading container platform for continuous, high-velocity innovation, enabling organizations to seamlessly build and share any application — from legacy to what comes next — and securely run them anywhere
KVM (for Kernel-based Virtual Machine) is a full virtualization solution for Linux on x86 hardware containing virtualization extensions (Intel VT or AMD-V).
Virtuozzo leverages OpenVZ as its core of a virtualization solution offered by Virtuozzo company. Virtuozzo is optimized for hosters and offers hypervisor (VMs in addition to containers), distributed cloud storage, dedicated support, management tools, and easy installation.
Kubernetes is an open source orchestration system for Docker containers. It handles scheduling onto nodes in a compute cluster and actively manages workloads to ensure that their state matches the users declared intentions.
JavaScript is most known as the scripting language for Web pages, but used in many non-browser environments as well such as node.js or Apache CouchDB. It is a prototype-based, multi-paradigm scripting language that is dynamic,and supports object-oriented, imperative, and functional programming styles.
See all alternatives