An Overall View On Docker Ecosystem — Containers, Moby, Swarm, Linuxkit, containerd & Kubernetes

Disclaimer

Aymen El Amri
Jan 11, 2018 · 8 min read
Image for post
Image for post

The Complete Video:

This video was created to be included in Painless Docker guide. You can watch it here and buy the guide here. If you liked the video, you can share it and subscribe to the channel.

All the images are taken from docker.com website.


  • FreeBSD Jails
  • Linux-VServer
  • Solaris Containers
  • OpenVZ
  • Process Containers
  • LXC
  • Warden
  • LMCTFY
  • Docker
  • RKT

Image for post
Image for post

Let's dive deeper into some concepts and tools like containerd and LXC

Docker & LXC

Image for post
Image for post

Docker Components

Image for post
Image for post

How Docker Runs a Container ?

  • Docker engine creates the image,
  • pass it to containerd,
  • containerd calls containerd-shim,
  • containerd-shim uses runC to run the container,
  • containerd-shim allows the runtime (runC in this case) to exit after it starts the container

The main two benefits of this model are

  • Running deamon-less containers
  • The ability to restart or upgrade engine without breaking the running containers

2017 — Containers Goes Mainstream

2017, was the year during which containers went mainstream that’s why Docker was building several Docker editions beyond Linux (Docker for Mac, Docker for Windows, Docker for AWS, GCP ..etc).

The Moby Project

The Moby project was started to enable a new level of collaboration and production. It’s an open source project with the aim of advancing the software containerization movement

It provides a lego set of dozens of components and the framework for assembling them into custom container-based systems.

Docker production model started like any other common open-source monolithic project

Image for post
Image for post

It moved to split out a single project to different open components

Image for post
Image for post

Then to a model that allows sharing these components and assemblies

Image for post
Image for post

And finally to a model that provides more collaboration on components and commons assemblies

Image for post
Image for post

Let’s now see some components of the Moby project

Containerd

Containerd is the industry based core container runtime for Docker.
It’s available as a daemon for Linux and windows and it manages the complete container lifecycle like the image transfer and storage, container execution and supervision, low-level storage and the network attachments..

Linuxkit

Linuxkit, another component of the Moby Project and it’s a tool to build secure, portable and lean operating systems for containers.

  • Some cloud-based platforms like AWS, GCP, and Azure
  • And baremetal on packet.net

Infrakit

Infrakit is also part of the Moby Project.

Libnetwork

Libnetwork is a native Go implementation for connecting containers.

Docker & Docker Swarm

It’s an orchestration tool built in the Docker engine.

Image for post
Image for post

Docker & Kubernetes

One of the most important changes is integrating Kubernetes natively into Docker. This was announced In October 2017

Image for post
Image for post

Kubernetes is considered as a native orchestration tool just like Swarm.

Image for post
Image for post

Docker Pulls From 2013 To 2017

Image for post
Image for post
Image for post
Image for post

Don’t forget to check PainlessDocker.com to get more details about this guide.

You can also test your Docker knowledge using this quiz that I created for the my readers !

If you are interested in joining my community DevOpsLinks, you can apply here, you'll receive a weekly newsletter and some other occasional emails including must-read articles, news, and tutorials.

This story unlike most stories on Medium is free and not behind a paywall. If you liked this work, you can support it by buying me a coffee here.

Image for post
Image for post

If this post was helpful, please click the clap 👏 button below a few times to show your support for the author! ⬇

FAUN

The Must-Read Publication for Aspiring Developers & DevOps Enthusiasts

Aymen El Amri

Written by

Aymen El Amri is the founder and CEO of www.eralabs.io and www.faun.dev community. He is a tech author, cloud-native architect, entrepreneur and startup advisor

FAUN

FAUN

The Must-Read Publication for Aspiring Developers & DevOps Enthusiasts. Medium’s largest DevOps publication.

Aymen El Amri

Written by

Aymen El Amri is the founder and CEO of www.eralabs.io and www.faun.dev community. He is a tech author, cloud-native architect, entrepreneur and startup advisor

FAUN

FAUN

The Must-Read Publication for Aspiring Developers & DevOps Enthusiasts. Medium’s largest DevOps publication.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch

Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore

Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store