Need advice about which tool to choose?Ask the StackShare community!
LXC vs LXD: What are the differences?
What is LXC? Linux containers. 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? Daemon based on liblxc offering a REST API to manage containers. 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.
LXC and LXD can be primarily classified as "Virtual Machine Platforms & Containers" tools.
LXC and LXD are both open source tools. LXC with 2.66K GitHub stars and 797 forks on GitHub appears to be more popular than LXD with 2.28K GitHub stars and 531 GitHub forks.
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.
Pros of LXC
- Easy to use5
- Lightweight4
- Simple and powerful3
- Good security3
- LGPL2
- Reliable1
- Trusted1
Pros of LXD
- More simple10
- Open Source8
- API8
- Best8
- Cluster7
- Multiprocess isolation (not single)5
- Fast5
- I like the goal of the LXD and found it to work great5
- Full OS isolation4
- Container3
- More stateful than docker3
- Systemctl compatibility2