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 containerd vs rkt

Docker vs containerd vs rkt

OverviewDecisionsComparisonAlternatives

Overview

Docker
Docker
Stacks194.2K
Followers143.8K
Votes3.9K
rkt
rkt
Stacks29
Followers112
Votes10
containerd
containerd
Stacks81
Followers140
Votes5

Docker vs containerd vs rkt: What are the differences?

Introduction

Docker, containerd, and rkt are all container runtimes that allow you to package and deploy applications within an isolated environment. While they serve a similar purpose, there are key differences between them that set them apart.

  1. Portability: Docker is known for its strong portability, allowing containers to run consistently across different platforms. containerd focuses on providing a robust container runtime with a simplified API, while rkt prioritizes on leveraging existing Linux tools and standards for improved compatibility and security.

  2. Architecture: Docker uses a client-server architecture where the Docker daemon manages containers and images. containerd is designed as a lower-level container runtime specifically for Docker, providing a simpler interface for container management. On the other hand, rkt follows a different decentralized approach, leveraging a pod-based architecture for managing containers with pod manifests.

  3. Security: Docker provides a comprehensive set of security features, such as image signing and verification, user namespaces, and container isolation. containerd inherits most of its security features from Docker and focuses on simplifying the container runtime interface. rkt, on the other hand, emphasizes on security by leveraging UNIX principles and integrating SELinux and AppArmor for enhanced isolation.

  4. Community and Adoption: Docker has a large and active community, making it the most widely used container runtime. containerd benefits from being part of the Docker ecosystem, leveraging its popularity and community support. rkt, although being an alternative to Docker, has a smaller community and adoption compared to Docker and containerd.

  5. Orchestration Support: Docker provides several built-in orchestration tools, like Docker Swarm and Kubernetes. containerd, being part of the Docker ecosystem, can be used with the same orchestration tools. rkt, on the other hand, can be integrated with various orchestration frameworks, including Kubernetes and Mesos, providing flexibility in choosing an orchestration platform.

  6. Runtime Overhead: Docker implementations often have more overhead due to the additional features and flexibility provided. containerd, being a lower-level runtime, reduces this overhead by focusing on core container management features. rkt aims to provide a minimalistic runtime with a smaller footprint, achieving lower runtime overhead compared to Docker.

In summary, Docker is known for its strong portability and extensive community, while containerd simplifies the container runtime interface and leverages the Docker ecosystem. rkt emphasizes security, compatibility, and minimalism, making it a viable alternative to Docker and containerd.

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, containerd

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
containerd
containerd

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.

An industry-standard container runtime with an emphasis on simplicity, robustness, and portability

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.
OCI Image Spec support; OCI Runtime Spec support (aka runC); Image push and pull support; Container runtime and lifecycle support; Network primitives for creation, modification, and deletion of interfaces; Multi-tenant supported with CAS storage for global images; Management of network namespaces containers to join existing namespaces
Statistics
Stacks
194.2K
Stacks
29
Stacks
81
Followers
143.8K
Followers
112
Followers
140
Votes
3.9K
Votes
10
Votes
5
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
    Documentation not always in sync
  • 6
    Unreliable networking
  • 4
    Moves quickly
  • 3
    Not Secure
Pros
  • 5
    Security
  • 3
    Robust container portability
  • 2
    Composable containers
Pros
  • 3
    No Need for docker shim
  • 2
    Supports Kubernetes version greater than 1.21
  • 0
    Needs docker shim to work on kubernetes
  • 0
    No kubernetes support after 1.22
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 availableNo integrations available

What are some alternatives to Docker, rkt, containerd?

Kubernetes

Kubernetes

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.

Rancher

Rancher

Rancher is an open source container management platform that includes full distributions of Kubernetes, Apache Mesos and Docker Swarm, and makes it simple to operate container clusters on any cloud or infrastructure platform.

Docker Compose

Docker Compose

With Compose, you define a multi-container application in a single file, then spin your application up in a single command which does everything that needs to be done to get it running.

Docker Swarm

Docker Swarm

Swarm serves the standard Docker API, so any tool which already communicates with a Docker daemon can use Swarm to transparently scale to multiple hosts: Dokku, Compose, Krane, Deis, DockerUI, Shipyard, Drone, Jenkins... and, of course, the Docker client itself.

Tutum

Tutum

Tutum lets developers easily manage and run lightweight, portable, self-sufficient containers from any application. AWS-like control, Heroku-like ease. The same container that a developer builds and tests on a laptop can run at scale in Tutum.

Portainer

Portainer

It is a universal container management tool. It works with Kubernetes, Docker, Docker Swarm and Azure ACI. It allows you to manage containers without needing to know platform-specific code.

LXD

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.

Codefresh

Codefresh

Automate and parallelize testing. Codefresh allows teams to spin up on-demand compositions to run unit and integration tests as part of the continuous integration process. Jenkins integration allows more complex pipelines.

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.

CAST.AI

CAST.AI

It is an AI-driven cloud optimization platform for Kubernetes. Instantly cut your cloud bill, prevent downtime, and 10X the power of DevOps.

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