Контейнеры — стандарт упаковки и доставки приложений в 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). Опыта с контейнерами не требуется — начинаем с того, что это такое.
Структура трека
Лучшая литература к треку
- Официальная документация — docs.docker.com — первоисточник по командам, Dockerfile и Compose; по ней сверяются все факты трека.
- Dockerfile reference — docs.docker.com/reference/dockerfile — точная семантика каждой инструкции (RUN, COPY, CMD vs ENTRYPOINT).
- OCI Image & Runtime Spec — opencontainers.org — стандарт формата образов и рантайма, на котором стоит вся экосистема (не только Docker).
- The Twelve-Factor App — 12factor.net — методология приложений, идеально ложащихся в контейнеры (конфиг через окружение, stateless, логи в stdout).
- «Docker Deep Dive» — Nigel Poulton — лучшее книжное введение «с нуля до уверенности» по образам, сетям и оркестрации.
Открой две вкладки: эту и терминал с установленным Docker. Каждую команду из урока запусти руками — контейнеры бесплатны и одноразовы (--rm уберёт за собой), а модель закрепляется только через практику. В уроках намеренно много «загляни внутрь контейнера» (exec, ps, inspect): именно это отличает того, кто понимает Docker, от того, кто заучил run и build.