TGViewer
LinuxCamp | DevOps LinuxCamp | DevOps @linuxcamp_tg · 13.6K subscribers
Post #421 7.22K
Docker и Podman: в чём разница?

Оба инструмента нужны, чтобы запускать контейнеры в Linux. Контейнер - это процесс с отдельными namespace и cgroup, которому «кажется», что у него есть свой собственный хост, сеть и файловая система. Но у Docker и Podman архитектура работы разная.

Как устроен Docker:

Docker устроен по модели «демон + клиент». На машине работает сервис dockerd с root-правами, который управляет всеми контейнерами. Когда вы пишете команду docker run nginx, CLI отправляет её демону, дальше запускается цепочка:


dockerd → containerd → containerd-shim → runc → PID 1 контейнера


Контейнерные процессы видны в ps, но родитель у них containerd-shim.

Как устроен Podman:

Podman демона не имеет. Команда podman run nginx сразу создаёт отдельный процесс-контейнер, за которым следит маленький монитор conmon:


podman → conmon → runc/crun → PID 1 контейнера


В дереве процессов видно сам контейнер, а не один общий демон.

Rootless режим:

С rootless режимом тоже разница. Docker может работать без root через rootlesskit и slirp4netns, но этот режим появился позже и имеет ограничения (например, не все сетевые возможности доступны). Podman изначально задумывался как rootless-friendly:


podman run --userns=keep-id -d alpine sleep 1000


Сеть:

Сеть у Docker в rootful-режиме - это мост docker0 и правила iptables:


ip link show docker0


В rootless - slirp4netns. У Podman начиная с версии 4.x сеть делает связка netavark + aardvark-dns, в rootless тоже используется slirp4netns или pasta.

Оркестрация:

Для Docker есть официальный docker compose. У Podman - podman-compose (комьюнити) и поддержка pods:


podman pod create --name mypod
podman run --pod mypod -d nginx
podman run --pod mypod -d redis


Ещё Podman умеет работать с Kubernetes-манифестами: podman play kube и podman generate kube.

Вывод:

Оба запускают одни и те же OCI-образы, но Docker работает через демон и привычен для большинства DevOps-пайплайнов, а Podman - без демона, с изначальной поддержкой rootless и pods, ближе к модели Kubernetes.

LinuxCamp | #docker #devops
  • 👍 27
  • ❤ 9
  • 🔥 7
  • ❤‍🔥 2
  • ✍ 2
More from @linuxcamp_tg
  1. Sep 28, 2026Проекту GNU вчера исполнилось 43 года 1983 год: Ричард Столлман объявил планы разработать…
  2. Sep 25, 2026Linux будет работать на ноутах с Snapdragon X2. Qualcomm добавляет полноценную поддержку L…
  3. Sep 24, 2026Так все по делу)) Советует же самый быстрый фикс LinuxCamp | #memes
  4. Sep 23, 2026Планы на 3 октября — прийти на RWB Infra x Security Meetup Мы направим прожекторы на инфра…
  5. Sep 22, 2026Ещё одна рекордная неделя для AI-разработки в Linux. На прошлой неделе в ядро попало 1 634…
  6. Sep 17, 2026Открыл плейлист, а как выйти - непонятно 😁 LinuxCamp | #memes
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →