https://www.hanselminutes.com/784/doing-open-source-with-brian-douglas

Play With Docker #

A handy way to try weird things in docker is using play-with-docker. You get a four hour session for free, after four hours everything will be deleted, but you can start a new session.

Installing Docker on Linux

Installing on Ubuntu.


wget -qO- https://get.docker.com/ | sh

Running Docker commands without sudo

In order to run docker commands without using sudo you need to add docker to your group.


sudo usermod -aG docker ubuntu

Architecture and Theory #

Container - Isolated area of an OS with resource usage limits applied.

Namespaces and Control Groups are hard, which is why containers were unusable by mortals before docker.

Namespaces #

Isolation

Each container looks and feels like a regular OS. It has its own eth0, users, kernel. These are completely isolated from every other container running on the system.

Namespaces are analogous to what Hypervisors do on hardware.

  • Process ID (pid)
  • Network (net)
  • Filesystem/mount (mnt)
  • Inter-proc comms (ipc)
  • UTS (uts)
  • User (usr)

Control Groups #

Resource usage limits