StackShareStackShare
Follow on
StackShare

Discover and share technology stacks from companies around the world.

Follow on

© 2025 StackShare. All rights reserved.

Product

  • Stacks
  • Tools
  • Feed

Company

  • About
  • Contact

Legal

  • Privacy Policy
  • Terms of Service
  1. Stackups
  2. Application & Data
  3. Container Registry
  4. Virtual Machine Platforms And Containers
  5. Docker vs LXD vs rkt

Docker vs LXD vs rkt

OverviewDecisionsComparisonAlternatives

Overview

Docker
Docker
Stacks194.2K
Followers143.8K
Votes3.9K
rkt
rkt
Stacks29
Followers112
Votes10
LXD
LXD
Stacks104
Followers194
Votes68

Docker vs LXD vs rkt: What are the differences?

Introduction

In the world of containerization, Docker, LXD, and rkt are popular technologies that allow developers to package, distribute, and run applications in isolated environments. Each of these technologies has its own unique features and advantages.

  1. Containerization Technology: Docker is primarily a containerization technology that focuses on creating lightweight, portable, self-sufficient containers that can run on any machine. It provides a complete ecosystem for building, shipping, and running containers. In contrast, LXD is more of a system container manager that allows users to run full-fledged Linux distributions within containers. It offers a more traditional virtualization-like experience with greater isolation from the host system. On the other hand, rkt is a security-focused container runtime that promotes Pod-native infrastructure and emphasizes cluster orchestration and management.

  2. Image Distribution: Docker utilizes its Docker Hub for storing and sharing container images, making it easy for users to access a vast repository of pre-built images. LXD relies on its image stores, where users can upload, download, and share images specifically designed for use with LXD containers. In comparison, rkt does not have a centralized image distribution platform like Docker Hub. Users typically rely on container registries like quay.io or self-hosted registries for sharing and managing rkt images.

  3. Security Model: Docker has a strong focus on security, with features like namespaces, control groups, and capabilities to isolate containers from each other and the host system. It also offers content trust, which allows users to verify the integrity and provenance of container images. LXD provides a secure-by-default approach, isolating containers with Linux security mechanisms while limiting their access to host resources. On the other hand, rkt emphasizes security through its use of App Container (appc) specifications, which define every aspect of a container's runtime environment to enhance predictability and security.

  4. Orchestration and Clustering: Docker comes with built-in orchestration tools like Docker Swarm and Docker Compose, which enable users to deploy and manage containerized applications across multiple hosts. LXD, being more focused on system containers, does not offer built-in support for orchestration but can be used in conjunction with tools like Juju or Kubernetes for cluster management. rkt, on the other hand, is designed to be a flexible component that can be integrated with various orchestrators and cluster managers, such as Kubernetes, Mesos, or Nomad.

  5. Runtime Architecture: Docker uses a client-server architecture, where the Docker client interacts with the Docker daemon to build, run, and manage containers. LXD operates as a daemon-less service, enabling users to interact with the LXD API directly to manage containers and virtual machines. rkt follows a pod-centric model, where a pod is a group of containers that share resources and networking, allowing users to define complex, multi-container applications more easily than with Docker or LXD.

In Summary, Docker, LXD, and rkt each offer unique approaches to containerization, catering to different use cases and preferences, ranging from container management, security, image distribution, orchestration capabilities, and runtime architecture.

Share your Stack

Help developers discover the tools you use. Get visibility for your team's tech choices and contribute to the community's knowledge.

View Docs
CLI (Node.js)
or
Manual

Advice on Docker, rkt, LXD

Florian
Florian

IT DevOp at Agitos GmbH

Oct 22, 2019

Decided

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.

482k views482k
Comments

Detailed Comparison

Docker
Docker
rkt
rkt
LXD
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

Rocket is a cli for running App Containers. The goal of rocket is to be composable, secure, and fast.

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.

Integrated developer tools; open, portable images; shareable, reusable apps; framework-aware builds; standardized templates; multi-environment support; remote registry management; simple setup for Docker and Kubernetes; certified Kubernetes; application templates; enterprise controls; secure software supply chain; industry-leading container runtime; image scanning; access controls; image signing; caching and mirroring; image lifecycle; policy-based image promotion
Composable. All tools for downloading, installing, and running containers should be well integrated, but independent and composable.;Security. Isolation should be pluggable, and the crypto primitives for strong trust, image auditing and application identity should exist from day one.;Image distribution. Discovery of container images should be simple and facilitate a federated namespace, and distributed retrieval. This opens the possibility of alternative protocols, such as BitTorrent, and deployments to private environments without the requirement of a registry.;Open. The format and runtime should be well-specified and developed by a community. We want independent implementations of tools to be able to run the same container consistently.
-
Statistics
Stacks
194.2K
Stacks
29
Stacks
104
Followers
143.8K
Followers
112
Followers
194
Votes
3.9K
Votes
10
Votes
68
Pros & Cons
Pros
  • 823
    Rapid integration and build up
  • 692
    Isolation
  • 521
    Open source
  • 505
    Testa­bil­i­ty and re­pro­ducibil­i­ty
  • 460
    Lightweight
Cons
  • 8
    New versions == broken features
  • 6
    Unreliable networking
  • 6
    Documentation not always in sync
  • 4
    Moves quickly
  • 3
    Not Secure
Pros
  • 5
    Security
  • 3
    Robust container portability
  • 2
    Composable containers
Pros
  • 10
    More simple
  • 8
    Best
  • 8
    API
  • 8
    Open Source
  • 7
    Cluster
Integrations
Java
Java
Docker Compose
Docker Compose
VirtualBox
VirtualBox
Linux
Linux
Amazon EC2 Container Service
Amazon EC2 Container Service
Docker Swarm
Docker Swarm
boot2docker
boot2docker
Kubernetes
Kubernetes
Docker Machine
Docker Machine
Vagrant
Vagrant
No integrations available
LXC
LXC

What are some alternatives to Docker, rkt, LXD?

LXC

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.

Vagrant Cloud

Vagrant Cloud

Vagrant Cloud pairs with Vagrant to enable access, insight and collaboration across teams, as well as to bring exposure to community contributions and development environments.

Studio 3T

Studio 3T

It's the only MongoDB tool that provides three ways to explore data alongside powerful features like query autocompletion, polyglot code generation, a stage-by-stage aggregation query builder, import and export, SQL query support and more.

OpenVZ

OpenVZ

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.

SmartOS

SmartOS

It combines the capabilities you get from a lightweight container OS, optimized to deliver containers, with the robust security, networking and storage capabilities you’ve come to expect and depend on from a hardware hypervisor.

Clear Containers

Clear Containers

We set out to build Clear Containers by leveraging the isolation of virtual-machine technology along with the deployment benefits of containers. As part of this, we let go of the "generic PC hardware" notion traditionally associated with virtual machines; we're not going to pretend to be a standard PC that is compatible with just about any OS on the planet.

Flatpak

Flatpak

It is a next-generation technology for building and distributing desktop applications on Linux

Lima

Lima

It launches Linux virtual machines with automatic file sharing, port forwarding, and containerd. It can be considered as some sort of unofficial "macOS subsystem for Linux", or "containerd for Mac". It is expected to be used on macOS hosts, but can be used on Linux hosts as well. It may work on NetBSD and Windows hosts as well.

Boxfuse

Boxfuse

It generates minimal images for your application in seconds. They boot directly on virtual hardware. There is no classic OS and no container runtime.

ZeroVM

ZeroVM

ZeroVM is an open source virtualization technology that is based on the Chromium Native Client (NaCl) project. ZeroVM creates a secure and isolated execution environment which can run a single thread or application. ZeroVM is designed to be lightweight, portable, and can easily be embedded inside of existing storage systems.

Related Comparisons

GitHub
Bitbucket

Bitbucket vs GitHub vs GitLab

GitHub
Bitbucket

AWS CodeCommit vs Bitbucket vs GitHub

Kubernetes
Rancher

Docker Swarm vs Kubernetes vs Rancher

gulp
Grunt

Grunt vs Webpack vs gulp

Graphite
Kibana

Grafana vs Graphite vs Kibana