Продвинутый курс по Docker для тех, кто хочет выйти за рамки базовых команд и научиться использовать контейнеризацию на уровне реальной DevOps-практики.
Вы освоите production-подходы, безопасность, оптимизацию, CI/CD, registry, мониторинг, troubleshooting и архитектуру многосервисных систем.
Данный курс для тех, кто хочет работать с Docker не на уровне “запустить контейнер”, а на уровне “спроектировать, защитить, оптимизировать и внедрить в прод”.
Предварительная подготовка
Курс рассчитан на слушателей, у которых уже есть базовый опыт работы с Docker и Linux. Желательно:
- понимать основные Docker-команды и уметь запускать контейнеры;
-
иметь опыт написания простых Dockerfile и работы с Docker Compose;
-
уверенно ориентироваться в Linux и командной строке;
-
понимать базовые принципы сетей, CI/CD и клиент-серверной архитектуры.
Это не курс “с нуля”. Он подойдет тем, кто уже знаком с контейнеризацией и хочет перейти от базовой эксплуатации Docker к продвинутой production-практике.
Формат обучения:
Дистанционно по будням с 19 до 21:30 часа по Мск.
Преподаватель курса -
Соловьев Владимир
Цель курса:
Курс помогает перейти от простого использования Docker к профессиональной работе с контейнерной инфраструктурой на уровне production. Слушатели разберутся, как Docker устроен изнутри, научатся собирать быстрые, безопасные и воспроизводимые образы, выстраивать надежную архитектуру сервисов, внедрять сканирование уязвимостей, мониторинг, registry, CI/CD и troubleshooting реальных инцидентов.
По итогам курса участники смогут не просто запускать контейнеры, а принимать зрелые инженерные решения: оптимизировать сборку, повышать безопасность, устранять узкие места производительности, строить production-ready окружения и уверенно использовать Docker как полноценный инструмент DevOps-архитектуры.
1. Docker в продакшене: архитектура и подходы
• Роль Docker в современной инфраструктуре.
• Контейнеры в enterprise-среде.
• Монолит vs микросервисы.
• Dev / Stage / Prod окружения.
• Anti-patterns использования Docker.
2. Глубокое понимание Docker архитектуры
• Docker Engine изнутри.
• namespaces и cgroups.
• UnionFS и слои образов.
• Как работает контейнер под капотом.
• Разница containerd, runc.
3. Продвинутая работа с Docker CLI
• Расширенные команды.
• Форматирование вывода.
• Работа с фильтрами.
• Docker inspect (глубокий разбор).
• Автоматизация через CLI.
4. Продвинутые
Dockerfile
• Multi-stage build (глубоко).
• Build arguments и динамика сборки.
• Кастомизация entrypoint.
• Использование кэша эффективно.
• Anti-patterns Dockerfile.
Практика: оптимизация production Dockerfile
5. BuildKit и ускорение сборки
• Что такое BuildKit.
• Кэширование сборок.
• Параллельные сборки.
• Secrets в build процессе.
Практика: ускорение сборки проекта
6. Управление зависимостями и reproducible builds
• Почему “работает у меня” — проблема.
• Pinning версий.
• deterministic builds.
• SBOM (Software Bill of Materials).
7. Продвинутая работа с сетями
• Внутренние механизмы Docker network.
• Overlay сети.
• Service discovery.
• Сетевые ограничения.
Практика: multi-host networking
8. Хранение данных и stateful сервисы
• Stateful vs stateless сервисы.
• Продвинутые volume-драйверы.
• Бэкапы и миграции данных.
• Хранение данных в продакшене.
Практика: production-ready база данных
9. Docker Compose на продакшене
• Ограничения Compose.
• Scaling сервисов.
• Override конфигураций.
• Best practices.
Практика: сложное многосервисное приложение
10. Безопасность контейнеров (глубоко)
• Namespace isolation.
• Capabilities Linux.
• Seccomp, AppArmor.
• Rootless Docker.
• Supply chain security.
Практика: hardening контейнера
11. Сканирование и уязвимости
• CVE и угрозы.
• Trivy, Clair.
• Работа с уязвимыми образами.
• Обновление зависимостей.
Практика: анализ и исправление уязвимостей
12. Логирование и мониторинг
• Лог-драйверы Docker.
• Централизованное логирование.
• Метрики контейнеров.
• Интеграция с Prometheus/Grafana.
Практика: сбор логов и метрик
13. Docker Registry и управление образами
• Private registry (Harbor, Nexus).
• Репликация образов.
• Управление доступом.
• Lifecycle образов.
Практика: поднять свой registry
14. Docker в CI/CD (продакшен уровень)
• Docker в pipeline.
• Build → Test → Scan → Push.
• Кэширование в CI.
• Canary deployments (базово).
Практика: полноценный CI/CD pipeline
15. Оркестрация: Docker Swarm
• Архитектура Swarm.
• Service, stack.
• Балансировка.
• Ограничения Swarm.
Практика: кластер Swarm
16. Интеграция с
Kubernetes
• Docker и Kubernetes.
• Контейнер как единица деплоя.
• Образы в Kubernetes.
• Подготовка к миграции.
17. Производительность и оптимизация
• Ограничение ресурсов (CPU, RAM).
• Benchmark контейнеров.
• Оптимизация runtime.
• Scaling подходы.
Практика: нагрузочное тестирование
18. Troubleshooting и
debugging (реальные кейсы)
• Контейнер не запускается.
• Проблемы сети.
• Проблемы с volume.
• Debug production инцидентов.
Практика: разбор аварийных ситуаций
19. Реальные кейсы из DevOps
• Миграция legacy приложения в Docker.
• Разделение монолита.
• Оптимизация CI/CD через Docker.
• Работа с high-load системой.
20. Финальный проект (Production-ready система)
• Архитектура приложения.
• Несколько сервисов.
• База данных.
• Reverse proxy.
• CI/CD pipeline.
• Безопасность и мониторинг.
21. Экзамен (Практика + Теория)
• Разработка production Dockerfile.
• Настройка инфраструктуры.
• Решение инцидента.
• Теоретические вопросы уровня DevOps.