Need advice about which tool to choose?Ask the StackShare community!
LXD vs rkt: What are the differences?
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; rkt: App Container runtime. Rocket is a cli for running App Containers. The goal of rocket is to be composable, secure, and fast.
LXD and rkt can be categorized as "Virtual Machine Platforms & Containers" tools.
"More simple" is the primary reason why developers consider LXD over the competitors, whereas "Security" was stated as the key factor in picking rkt.
LXD and rkt are both open source tools. rkt with 8.7K GitHub stars and 832 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 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
Pros of rkt
- Security5
- Robust container portability3
- Composable containers2