open atlas

docker

Docker: контейнеры как система

За пределы «напиши Dockerfile» — как на самом деле работают образы, namespaces, BuildKit и реестры, и как контейнеры ведут себя в проде.

10 юнитов·34 уроков·~9 ч

Начать трек
01

Образы и слои

Образ — это контентно-адресуемые, наслоённые, read-only слои файловой системы плюс конфиг, а не tar запущенной машины.
02

Внутренности рантайма

Контейнер — обычный Linux-процесс, огороженный namespaces и cgroups: изоляция, а не виртуализация.
03

Сеть контейнеров

Сеть контейнеров — это network namespaces, соединённые через bridge, плюс NAT и встроенный DNS.
04

Хранилище и тома

Записываемый слой — эфемерный copy-on-write; устойчивое состояние живёт в томах, а не в контейнере.
05

BuildKit и кеш

BuildKit превращает Dockerfile в параллельный контентно-адресуемый граф сборки — попадания в кеш зависят от дайджестов, а не от номеров строк.
06

Compose и локальная разработка

Compose декларирует топологию из нескольких контейнеров — локальное окружение становится файлом, а не вики-страницей команд.
07

Безопасность контейнеров

По умолчанию контейнеры слишком привилегированы; rootless, сброшенные capabilities, сканирование и подписанная цепочка поставок закрывают разрыв.
08

Реестры и распространение

Реестр — контентно-адресуемое хранилище блобов за протоколом pull/push; теги двигаются, дайджесты — нет.
09

Отладка контейнеров

Контейнер отлаживают, входя в его namespaces: exec, inspect, логи и события показывают, что делает чёрный ящик.
10

Продакшен-паттерны

Продакшен-контейнеры — это про ограниченные ресурсы, честное здоровье, тонкие образы и аккуратный жизненный цикл под оркестратором.

Проекты по этому треку

Guided-проекты, которые закрепляют изученное здесь.

◆ Проекты

Защищённый домашний стек

Разверни self-hosted стек медиасервера и домашнего сервера на nas01.example, где пять сервисов делят сетевое пространство имён одного VPN-контейнера — kill-switch обрывает весь трафик в момент разрыва туннеля, список split-tunnel сохраняет LAN-доступ, а три кольца доступа (localhost / LAN 10.0.0.0/24 / mesh-VPN 100.64.0.30) держат нужные двери открытыми для нужных людей. Усиль хост: SSH только по ключу, fail2ban, автоматические обновления безопасности; напиши скрипт ротирующего резервного копирования с шифрованием age; и уходи зная, что стек уходит в тень при любом сбое.

◆ Проекты

Трёхзвенное приложение на AWS через IaC

Подними настоящую трёхзвенную систему на AWS — балансировщик спереди, вычислительный слой посередине, управляемый Postgres за ним и S3 для объектов — целиком из кода, который можно прогнать заново. Суть не в том, чтобы один раз прокликать консоль; суть в том, чтобы описать всю топологию, её IAM и сетевые границы как Terraform (или CDK), который можно передать коллеге, снести и пересоздать байт в байт. Это тот проект, где «инфраструктура» перестаёт быть кучей консолей и становится артефактом, который можно ревьюить.

Следующий трек

Основы безопасности

Кросс-режущая база, нужная каждому инженеру, чтобы рассуждать о безопасности: моделирование угроз, прикладная криптография, идентичность, сетевая безопасность и модели контроля доступа.