Abstract
- 3 components - Docker Container, Docker Image & Dockerfile
- Built on top of Linux Namespace, so on Windows & Mac, we have a hidden Linux VM
- Less secure compared to Podman, because it has Daemon which needs root access to work
Working with Apple Silicon
--platform linux/amd64
flag is needed. Refer to ISA Unmatch error
Docker Engine
- The whole package, which includes Daemon as one of its components. Other 2 components are REST API interface and Docker CLI which provide access to Daemon
Daemon
- Background service running on the host that manages the containers created by the Docker Engine
- Single source of failure & requires root access
- Built on top of Runtime
Runtime
- Used to interact with Kernel
- There are many options, the one docker uses is containerd
Docker Installation
MacOS
brew install orbstack
-orbstack
is a much lightweight GUI to manage the containers, comes with Docker Engine
Ubuntu
- Install Docker Engine with
curl -sSL https://get.docker.com | sh
- Install Docker Desktop(Optional)
- We can add user to the docker group with
sudo usermod -aG docker <USERNAME>
Fix missing dependencies
sudo apt --fix-broken install
Useful Docker Images
Networking
- wbitt/network-multitool -
docker run -d --name eff1 --hostname eeg1 wbitt/network-multitool