dockerd vs docker-containerd vs docker-runc vs docker-containerd-ctr vs docker-containerd-shim

DockerDocker MachineDocker SwarmBoot2docker

Docker Problem Overview


This stuff is really getting confused now. Can someone please explain what's going on. Just the straight one liner difference.

  • dockerd
  • libcontainerd
  • containerd
  • docker-containerd
  • docker-runc
  • docker-containerd-ctr
  • docker-containerd-shim

thanks

Docker Solutions


Solution 1 - Docker

dockerd - The Docker daemon itself. The highest level component in your list and also the only 'Docker' product listed. Provides all the nice UX features of Docker.

(docker-)containerd - Also a daemon, listening on a Unix socket, exposes gRPC endpoints. Handles all the low-level container management tasks, storage, image distribution, network attachment, etc...

(docker-)containerd-ctr - A lightweight CLI to directly communicate with containerd. Think of it as how 'docker' is to 'dockerd'.

(docker-)runc - A lightweight binary for actually running containers. Deals with the low-level interfacing with Linux capabilities like cgroups, namespaces, etc...

(docker-)containerd-shim - After runC actually runs the container, it exits (allowing us to not have any long-running processes responsible for our containers). The shim is the component which sits between containerd and runc to facilitate this.

Solution 2 - Docker

From the documentation:

> runC is built on libcontainer which is the same container library powering a Docker engine installation. Prior to the version 1.11, Docker engine was used to manage volumes, networks, containers, images etc.. Now, the Docker architecture is broken into four components:

Docker engine 
containerd
containerd-shm
runC. 

The binaries are respectively called:

docker
docker-containerd
docker-containerd-shim
docker-runc.

Image

https://medium.com/faun/docker-containerd-standalone-runtimes-heres-what-you-should-know-b834ef155426

Solution 3 - Docker

High-level picture for further better understanding: (read other good answers before this)

Architecture

Curated pictures collection for quick understanding:

enter image description here

enter image description here

enter image description here

Sources:

  1. Containerd
  2. blog.caoyu.info
  3. Twitter

There is a reason for this saying "A picture is worth a thousand words"

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionIjaz AhmadView Question on Stackoverflow
Solution 1 - Dockerjohnharris85View Answer on Stackoverflow
Solution 2 - DockerIjaz AhmadView Answer on Stackoverflow
Solution 3 - DockersuryaView Answer on Stackoverflow