Кому это нужно

Контейнеры — стандарт упаковки и доставки приложений в DevOps: на них стоят CI/CD, Kubernetes и почти весь облачный деплой. Большинство инженеров знают docker run и docker build, но не понимают, что контейнер — это обычный процесс Linux, а не «лёгкая виртуалка». Здесь — наоборот: сначала модель (namespaces и cgroups из трека Linux), потом команды и Dockerfile становятся очевидными следствиями, а не заклинаниями с форумов.

Что нужно знать перед началом

Базовый терминал и работа со скриптами (треки Bash/Python и Linux-эмулятор). Огромный плюс — трек Linux from kernel up: там namespaces и cgroups разобраны изнутри, а контейнер — это ровно их применение. Установленный Docker (docker --version). Опыта с контейнерами не требуется — начинаем с того, что это такое.

Структура трека

Лучшая литература к треку

Как проходить

Открой две вкладки: эту и терминал с установленным Docker. Каждую команду из урока запусти руками — контейнеры бесплатны и одноразовы (--rm уберёт за собой), а модель закрепляется только через практику. В уроках намеренно много «загляни внутрь контейнера» (exec, ps, inspect): именно это отличает того, кто понимает Docker, от того, кто заучил run и build.