Docker

Docker — платформа контейнеризации. Запускает процесс в изолированном Linux-namespace (PID, net, mount, uts, ipc, user) с cgroups для лимитов. По сути — обёртка над Linux-примитивами + удобный CLI + registry.

Что это на самом деле

Docker container = процесс Linux
  + namespaces (изоляция)
  + cgroups (лимиты CPU/mem/io)
  + overlay FS (слои)
  + сеть (veth pair, iptables)

Компоненты

Dockerfile

FROM alpine:3.19
RUN apk add --no-cache curl
COPY app /usr/local/bin/app
USER 1000
ENTRYPOINT ["/usr/local/bin/app"]
EXPOSE 8080

Namespaces

NSИзолирует
pidPID (внутри свой PID 1)
netсетевые интерфейсы
mntmount points
utshostname
ipcSystem V IPC
userUID/GID mapping
cgroupcgroup root

Сети

Volumes

Docker vs Podman vs containerd

DockerPodmancontainerd+nerdctl
Daemonда (root)нетда
Rootlessчастичноиз коробкида
K8sуходитокде-факто

Docker Desktop / лицензия

С 2022 Docker Desktop — платный для компаний > 250 сотрудников или > $10M выручки. Альтернативы: Rancher Desktop, OrbStack, Podman Desktop, colima.

См. также

← на главную