Складчина: Docker от абсолютного нуля до гуру контейнеризации [Stepik] [Илья Береговой]
Сервис коротких ссылок в финальном проекте состоит из пяти компонентов, включая API, PostgreSQL и Redis. Пройдя курс, вы научитесь собирать такую систему в Docker, настраивать сети и секреты, делать резервные копии и готовить сервис к развёртыванию.
Практический курс по Docker для разработчиков: от первого docker run до продакшен-системы. Образы, Dockerfile, оптимизация сборки, данные, сети, Compose, безопасность, CI/CD и финальный проект. 384 шага, 32 урока, 64 практических задания.
Docker давно стал стандартом упаковки и доставки приложений, но многие разработчики пользуются им наугад: копируют Dockerfile из чужих проектов, запускают compose по инструкции и не понимают, почему образ весит гигабайт, база потеряла данные, а деплой роняет запросы.
Этот курс ведёт от абсолютного нуля до уверенной работы с контейнерами в продакшене. Мы не ограничиваемся командами: в каждом уроке объясняется, как устроен механизм, какие ошибки встречаются чаще всего и как их избежать. Каждый урок построен одинаково: теория с примерами кода, разбор типичных ошибок и реальных кейсов и два практических задания.
Для кого этот курс:
- Курс написан для разработчиков: бэкенд, фронтенд, мобильных и всех, кто пишет код и хочет запускать его одинаково на ноутбуке, в CI и на сервере
- Он подойдёт тем, кто ни разу не запускал Docker, и тем, кто уже пользуется им по инструкциям из README, но хочет понимать, что происходит под капотом, и перестать бояться продакшена
- Также курс будет полезен тимлидам и начинающим DevOps-инженерам, которым нужно навести порядок в сборке и деплое команды
Чему вы научитесь:
- Запускать контейнеры и управлять их жизненным циклом, понимать коды выхода и корректно завершать приложения по SIGTERM
- Писать Dockerfile, в которых правильно работает кэш, а образы получаются маленькими и безопасными, использовать многоэтапную сборку, BuildKit, кэш-монтирования, секреты при сборке и мультиплатформенные образы
- Хранить данные в томах, делать бэкапы и переживать обновление баз
- Строить сети между сервисами и отлаживать их, когда что-то не отвечает
- Описывать целые системы в Docker Compose с healthcheck, профилями, override-файлами и Compose Watch
- Защищать контейнеры: непривилегированные пользователи, capabilities, файловая система только для чтения, секреты, сканирование уязвимостей и SBOM
- Готовить сервисы к продакшену: логи, мониторинг, CI/CD в GitHub Actions и GitLab, Traefik с автоматическим HTTPS, Docker Swarm и путь к Kubernetes
Финальный проект:
В конце курса вы соберёте сервис коротких ссылок из пяти компонентов: nginx, API на FastAPI, фоновый worker, PostgreSQL и Redis. Многоэтапный образ, сегментированные сети, секреты, защищённый рантайм, healthcheck, бэкапы и порядок деплоя без потери данных.
Как проходит обучение:
Курс полностью текстовый, его удобно проходить в своём темпе и возвращаться к нему как к справочнику. Текстовые уроки с примерами кода и практические задания. В заданиях вы пишете команду, Dockerfile, compose.yaml или CI-конфигурацию.
4-6 часов в неделю.
Начальные требования:
- Уверенная работа в командной строке: навигация по файлам, запуск команд, переменные окружения
- Опыт программирования на любом языке. Примеры в курсе на Python, Node.js, Go и Java, но глубоко знать их не нужно
- Компьютер, на котором можно установить Docker: Linux, macOS или Windows с WSL 2. Практические задания можно решать и без установки, но запускать команды руками гораздо полезнее
Программа:
Модуль 1. Знакомство с Docker
- Зачем разработчику Docker
- Как устроен Docker
- Установка Docker и первый контейнер
Модуль 2. Работа с контейнерами
- Жизненный цикл контейнера
- Заглядываем внутрь: logs, exec, inspect, stats
- Порты, переменные окружения и лимиты ресурсов
Модуль 3. Образы и реестры
- Что такое образ: слои, теги и digest
- Реестры: pull, tag, push и приватные хранилища
- Куда делось место на диске: уборка и фильтры
Модуль 4. Dockerfile: собираем свои образы
- Первый Dockerfile
- CMD и ENTRYPOINT, ARG и ENV, USER
- Кэш сборки и .dockerignore
Модуль 5. Оптимизация сборки
- Многоэтапная сборка
- Выбор базового образа: alpine, slim, distroless, scratch
- BuildKit: кэш-монтирования, секреты и мультиплатформенная сборка
Модуль 6. Данные и хранилища
- Почему данные исчезают и что такое тома
- Bind mounts и tmpfs: разработка без пересборки
- Бэкап, восстановление и перенос данных
Модуль 7. Сети в Docker
- Как устроена сеть контейнеров: bridge, host, none
- Пользовательские сети и DNS между контейнерами
- Отладка сети: когда контейнеры не видят друг друга
Модуль 8. Docker Compose
- Первый compose.yaml
- Healthcheck, порядок запуска и переменные
- Compose для разработки: override, профили и watch
Модуль 9. Безопасность и устройство Docker изнутри
- Под капотом: namespaces, cgroups и overlayfs
- Защищаем контейнер в рантайме
- Секреты, сканирование уязвимостей и цепочка поставок
Модуль 10. Docker в продакшене и CI/CD
- Логи, healthcheck и корректное завершение в продакшене
- Docker в CI/CD: сборка и публикация в GitHub Actions
- Деплой и оркестрация: от одного сервера к Swarm и Kubernetes
Модуль 11. Финальный проект
- Финальный проект, часть 1: проектируем и упаковываем сервис
- Финальный проект, часть 2: собираем систему в Compose
Цена 7400 руб.