containerd vs Docker vs rkt

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

containerd

78
140
+ 1
5
Docker

174K
139.8K
+ 1
3.9K
rkt

29
112
+ 1
10

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.

Decisions about containerd, Docker, and rkt
Florian Sager
IT DevOp at Agitos GmbH · | 3 upvotes · 447.7K views
Chose
LXDLXD
over
DockerDocker

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
Manage your open source components, licenses, and vulnerabilities
Learn More
Pros of containerd
Pros of Docker
Pros of rkt
  • 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
  • 823
    Rapid integration and build up
  • 692
    Isolation
  • 521
    Open source
  • 505
    Testa­bil­i­ty and re­pro­ducibil­i­ty
  • 460
    Lightweight
  • 218
    Standardization
  • 185
    Scalable
  • 106
    Upgrading / down­grad­ing / ap­pli­ca­tion versions
  • 88
    Security
  • 85
    Private paas environments
  • 34
    Portability
  • 26
    Limit resource usage
  • 17
    Game changer
  • 16
    I love the way docker has changed virtualization
  • 14
    Fast
  • 12
    Concurrency
  • 8
    Docker's Compose tools
  • 6
    Fast and Portable
  • 6
    Easy setup
  • 5
    Because its fun
  • 4
    Makes shipping to production very simple
  • 3
    It's dope
  • 3
    Highly useful
  • 2
    Does a nice job hogging memory
  • 2
    Open source and highly configurable
  • 2
    Simplicity, isolation, resource effective
  • 2
    MacOS support FAKE
  • 2
    Its cool
  • 2
    Docker hub for the FTW
  • 2
    HIgh Throughput
  • 2
    Very easy to setup integrate and build
  • 2
    Package the environment with the application
  • 2
    Super
  • 0
    Asdfd
  • 5
    Security
  • 3
    Robust container portability
  • 2
    Composable containers

Sign up to add or upvote prosMake informed product decisions

Cons of containerd
Cons of Docker
Cons of rkt
    Be the first to leave a con
    • 8
      New versions == broken features
    • 6
      Unreliable networking
    • 6
      Documentation not always in sync
    • 4
      Moves quickly
    • 3
      Not Secure
      Be the first to leave a con

      Sign up to add or upvote consMake informed product decisions

      What is containerd?

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

      What is Docker?

      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

      What is rkt?

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

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

      What companies use containerd?
      What companies use Docker?
      What companies use rkt?

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

      What tools integrate with containerd?
      What tools integrate with Docker?
      What tools integrate with rkt?
        No integrations found

        Sign up to get full access to all the tool integrationsMake informed product decisions

        Blog Posts

        PythonDockerKubernetes+7
        3
        1148
        PythonDockerKubernetes+14
        12
        2649
        Jul 9 2019 at 7:22PM

        Blue Medora

        DockerPostgreSQLNew Relic+8
        11
        2369
        DockerAmazon EC2Scala+8
        6
        2751
        GitHubDockerReact+17
        41
        37194
        What are some alternatives to containerd, Docker, and rkt?
        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.
        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.
        JavaScript
        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.
        Git
        Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
        GitHub
        GitHub is the best place to share code with friends, co-workers, classmates, and complete strangers. Over three million people use GitHub to build amazing things together.
        See all alternatives