Kubernetes vs Docker: Understanding Containers in 2021

This page summarizes the projects mentioned and recommended in the original post on dev.to

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • distribution-spec

    OCI Distribution Specification

  • The rise in popularity of containers showed the need for an open image standard. As a result, Docker Inc and CoreOS established the Open Container Initiative (OCI) in 2015, with the mission of producing vendor-neutral formats. The result of this effort was the creation of two standards:

  • kubernetes

    Production-Grade Container Scheduling and Management

  • A few weeks ago, the Kubernetes development team announced that they are deprecating Docker. This piece of news made the rounds through tech communities and social networks alike. Will Kubernetes clusters break, and if so, how will we run our applications? What should we do now? Today, we’ll examine all these questions and more.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • cri-o

    Open Container Initiative-based implementation of Kubernetes Container Runtime Interface

  • Simply put, Docker is heavy. We get better performance with a lightweight container runtime like containerd or CRI-O. As a recent example, Google benchmarks have shown that containerd consumes less memory and CPU, and that pods start in less time than on Docker.

  • runtime-spec

    OCI Runtime Specification

  • A runtime specification that describes how to unpack and run a container. OCI maintains a reference implementation called runc. Both containerd and CRI-O use runc in the background to spawn containers.

  • containerd

    An open and reliable container runtime

  • In its first iterations, Docker used Linux Containers (LXC) as the runtime backend. As the project evolved, LXC was replaced by containerd, Docker’s own implementation. A modern Docker installation is divided into two services: containerd, responsible for managing containers, and dockerd, which does all the rest.

  • runc

    CLI tool for spawning and running containers according to the OCI specification

  • A runtime specification that describes how to unpack and run a container. OCI maintains a reference implementation called runc. Both containerd and CRI-O use runc in the background to spawn containers.

  • kaniko

    Build Container Images In Kubernetes

  • Running Docker commands in privileged pods. For instance: to build images with docker build. See projects like kaniko for alternative solutions.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • enhancements

    Enhancements tracking repo for Kubernetes

  • Running Windows containers. Containerd does work in Windows, but its support level is not yet up to par with Docker’s. The objective is to have a stable containerd release for Windows by containerd version 1.20.

  • cri-dockerd

    dockerd as a compliant Container Runtime Interface for Kubernetes

  • Alternatively, if you want to keep on using Docker past version 1.23, follow the cri-dockerd project, which plans to keep Docker as a viable runtime alternative.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts