Arquitetura do Docker
Imagens em camadas compartilhadas · Isolamento via Namespaces e Cgroups
🖥️ Host Linux
nginx:latest
Camada R/Wcontainer
nginx 1.25
libs debian
debian baseshared
mysql:8.0
Camada R/Wcontainer
mysql 8.0
libs debian
debian baseshared
app:v2
Camada R/Wcontainer
app python
libs debian
debian baseshared
redis:7
Camada R/Wcontainer
redis 7.2
libs alpine
alpine baseshared
↑ Camadas read-only compartilhadas — 4 containers, sem duplicar disco ↑
🐳 Docker Engine
dockerd + containerd + runc
API REST
CLI
BuildKit
overlay2
Namespaces: pid, net, mnt, uts, ipc
Cgroups: CPU, memória, I/O
🐧 Kernel Linux
Namespaces
isolamento lógico
Cgroups
isolamento físico
Netfilter
roteamento de rede