Whiat is Docker?

Docker is a platform for consistantly building, running, and shipping applications → If it works on my machine, then works on others’ too.

Why might not work on other machine?

Virtual Machine (VM)

An abstraction of a machine (physical h/w) E.g.) Mac can run Linux and Windows with VM via Hypervisor.

Hypervisor is a s/w that create and manage VMs (e.g. VirtualBox, VMware, Hyper-v (Windows only))

What are problems w/ VM?

Container

An isolated environment for running an application → Allow us run different s/w versions and env on one single machine.

Why better than VM?

Docker architecture

Docker uses client-server(Docker engine) architecture w/ RESTful API. Container act like process. Every containers share kernel of the host.

Kernel is a core of the OS: it manages applications and h/w resources such as RAM and CPU.

Every OS has its own kernels.

Linux machine can only run Linux container
Windows machine: Windows / Linux
Mac machine: Linux VM