AkiVaMu Just tiny things come to mind...

Docker

Docker vs VM

Docker vs VM

Userspace vs Kernel space

  • There is only one shared kernel
    • Container is like a packaged userspace applications
    • There is no separate kernel in container
    • Normal or containerized applications (via syscall) same shared Linux kernel. It is host’s kernel
    • Docker engine check to support host kernel
  • If host’s kernel is changed, will the old container continue to work properly?
    • Not sure
  • In non-linux, what is the kernel to share? Technically via a Linux VM
    • Docker for Windows uses Linux VM (Hyper-V), or Linux Subsystem in Win10
    • Docker for MacOS uses xhyve Virtual Machine
  • There is Windows Container, which could share Window kernel

Docker overview

Official docs

Docker engine includes:

  • Docker daemon (dockerd): act as a server
  • REST API: provides interface to docker daemon
  • CLI (docker command): uses REST API

Docker Engine

Image, container, docker hub/registry.

Using docker

Docker get started

  • Image and Container
  • Service
  • Swarm
  • Stack