Docker 101

!! This post is a working in progress !!

In my courses, I use Docker a lot. Usually, I rely on the extremely well done material by Jerome Petazzoni at container.training. However, I decided that it might be useulful to outline here the class I usually deliver to my students, to they can follow in a self-paced manner.

What Is Docker

Docker is a command line interfaces plus a bunch of processes that abastract and simplify the usage of Linux Containers. It has the goal of automate and standardize software delivery and deployment. Initially, Docker leveraged LXC containers, but later one the runtime was replaced by containerd.

Why is docker NOT a “lightweight virtual machine”

Generally speaking, containers are a virtualisation technique. However, this is far from being a virtual machine. The missing piece is… the hypervisor.

Image description

Why do we care?

This means that docker is architecture specific. Running dockersized software in an intel machine is different than running it on a ARM one.

The next Steps

  • Launch our first container
  • Creating our first image
  • Dockerfiles
  • Docker Networking (Very Important for Data Engineering Classes)
  • Volumes
  • Docker Compose
  • Practice Exercise



Enjoy Reading This Article?

Here are some more articles you might like to read next:

  • Public Speaking
  • My Teaching Statement
  • My Research Statement
  • Overview of Snowflake Dedicated Services
  • Data engineering beyond just managing data