Курс на Stepik
Обложка курса «Docker для разработчиков: с нуля до профи на практике» на Stepik
Бесплатно

Docker для разработчиков: с нуля до профи на практике ★ 5.000

Открыть на
STEPIK.ORG

От первой команды docker run до production-сборок и CI/CD. Каждый урок заканчивается тестами и практическим заданием с кодом.

Показатель Текущие показатели Рост
Значение 🏆 Рейтинг 3 дн 7 дн 30 дн
Количество учеников на курсе «Docker для разработчиков: с нуля до профи на практике»Учеников на курсе 79
Сертификаты, выданные на курсе «Docker для разработчиков: с нуля до профи на практике»Сертификатов выдано 0
Отзывы о курсе «Docker для разработчиков: с нуля до профи на практике»Отзывов получено 1
Рейтинг курса «Docker для разработчиков: с нуля до профи на практике»Рейтинг курса 5.000
Уроки в курсе «Docker для разработчиков: с нуля до профи на практике»Количество уроков 81
Тесты в курсе «Docker для разработчиков: с нуля до профи на практике»Количество квизов 238
Задачи с кодом в курсе «Docker для разработчиков: с нуля до профи на практике»Количество задач с кодом 29
Время прохождения курса «Docker для разработчиков: с нуля до профи на практике»Время прохождения курса —
Обновления курса «Docker для разработчиков: с нуля до профи на практике»Обновления курса — —
Дата публикации курса «Docker для разработчиков: с нуля до профи на практике»Дата публикации курса — ———
Последнее обновление курса «Docker для разработчиков: с нуля до профи на практике»Последнее обновление — ———

Содержание курса

Разделы в курсе «Docker для разработчиков: с нуля до профи на практике» 20 разделов Уроки в курсе «Docker для разработчиков: с нуля до профи на практике» 81 урок Тесты в курсе «Docker для разработчиков: с нуля до профи на практике» 238 тестов Задачи в курсе «Docker для разработчиков: с нуля до профи на практике» 29 задач Время прохождения курса «Docker для разработчиков: с нуля до профи на практике» 0 ч. Последнее обновление курса «Docker для разработчиков: с нуля до профи на практике» обн. 18 мая 2026

Модуль 1. Зачем Docker и как он устроен

4 урока
1. Урок 1.1. Что такое Docker и зачем он нужен ↗
2. Урок 1.2. Установка Docker и первый запуск ↗
3. Урок 1.3. Жизненный цикл контейнера ↗
4. Урок 1.4. Базовый инструментарий: ps, logs, exec, inspect ↗

Модуль 4. Тома и работа с данными

4 урока
1. Урок 4.1. Где живут данные: writable-слой, тома, bind mounts ↗
2. Урок 4.2. Именованные тома: создание, монтирование, общий доступ ↗
3. Урок 4.3. Bind mounts: hot reload, права, кросс-платформа ↗
4. Урок 4.4. Бекапы и миграция данных между томами и хостами ↗

Модуль 6. Docker Compose

4 урока
1. Урок 6.1. Введение в Docker Compose: чтение compose.yml ↗
2. Урок 6.2. Сервисы Compose: build, image, env, volumes ↗
3. Урок 6.3. Сети и тома в Compose, профили, override ↗
4. Урок 6.4. Compose в проде: миграции, healthcheck, обновления ↗

Модуль 7. Слои, кэш и оптимизация образа

4 урока
1. Урок 7.1. Анатомия слоёв образа: что и когда инвалидируется ↗
2. Урок 7.2. Уменьшаем образ: slim, distroless, scratch ↗
3. Урок 7.3. BuildKit: cache mounts, secrets, параллельные стадии ↗
4. Урок 7.4. Профилирование и быстрые сборки в CI ↗

Модуль 2. Образы и контейнеры: ментальная модель

4 урока
1. Урок 2.1. Образы и слои изнутри ↗
2. Урок 2.2. Работа с образами: pull, push, tag, rmi ↗
3. Урок 2.3. Контейнер vs образ: общая ФС, изоляция, namespaces ↗
4. Урок 2.4. Переменные окружения, аргументы и метаданные образа ↗

Модуль 3. Dockerfile: первый собственный образ

4 урока
1. Урок 3.1. Первый Dockerfile: FROM, COPY, RUN, CMD ↗
2. Урок 3.2. Multi-stage сборки: разделяем build и runtime ↗
3. Урок 3.3. .dockerignore, build-context и кеш слоёв ↗
4. Урок 3.4. Хорошие практики: USER, минимальный образ, версии ↗

Модуль 5. Сети между контейнерами

4 урока
1. Урок 5.1. Сетевые драйверы Docker: bridge, host, none ↗
2. Урок 5.2. Пользовательские сети, DNS и алиасы ↗
3. Урок 5.3. Публикация сервисов: -p, диапазоны, UDP, ipv6 ↗
4. Урок 5.4. Диагностика сети: inspect, exec, nsenter, tcpdump ↗

Модуль 8. Реестры и распространение образов

4 урока
1. Урок 8.1. Реестры образов: Docker Hub, GHCR, ECR, и другие ↗
2. Урок 8.2. Публикация образа: tag, push, версии и latest ↗
3. Урок 8.3. Приватный реестр: registry, аутентификация, сертификат ↗
4. Урок 8.4. Подпись и верификация образов: cosign и content trust ↗

Модуль 9. Логи, метрики и дебаг контейнеров

4 урока
1. Урок 9.1. Логи в контейнерах: stdout, stderr и драйверы ↗
2. Урок 9.2. docker logs, ротация и внешние сборщики ↗
3. Урок 9.3. Метрики и ресурсы: stats, cgroups, лимиты ↗
4. Урок 9.4. Дебаг контейнера: exec, inspect, debug-образы ↗

Модуль 10. Безопасность

4 урока
1. Урок 10.1. Поверхность атаки контейнеров: обзор рисков ↗
2. Урок 10.2. Непривилегированный запуск и capabilities ↗
3. Урок 10.3. Сканирование образов: trivy, grype, политики ↗
4. Урок 10.4. Секреты в Docker и Compose: хранение и доступ ↗

Модуль 11. CI/CD и production-практики

5 уроков
1. Урок 11.1. Сборка образа в CI: build-args, теги, push ↗
2. Урок 11.2. Build-cache в GitHub Actions и GitLab CI ↗
3. Урок 11.3. Версионирование образов: semver, sha-теги, immutable ↗
4. Урок 11.4. Деплой образа: pull-and-restart, blue/green, rollback ↗
5. Урок 11.5. Чек-лист готовности образа к проду ↗

Модуль 12. За пределами одного хоста

4 урока
1. Урок 12.1. Когда одного хоста уже мало: симптомы и варианты ↗
2. Урок 12.2. Docker Swarm: services, replicas, overlay-сети ↗
3. Урок 12.3. Kubernetes глазами Docker-разработчика ↗
4. Урок 12.4. Миграция docker-compose в манифесты через kompose ↗

Модуль 13. Multi-arch образы и сборка под разные платформы

4 урока
1. Урок 13.1. Зачем multi-arch: ARM64 на сервере и на ноутбуке ↗
2. Урок 13.2. docker buildx: builder, --platform, сборка под ARM ↗
3. Урок 13.3. QEMU vs нативные раннеры: скорость и надежность ↗
4. Урок 13.4. Multi-arch манифест в реестре и проверка образов ↗

Модуль 14. BuildKit: продвинутая сборка и кэш

4 урока
1. Урок 14.2. Cache mounts: кэш для apt, npm, pip и go ↗
2. Урок 14.1. Что меняет BuildKit: параллельные стадии и синтаксис ↗
3. Урок 14.4. Удалённый кэш: --cache-from и --cache-to ↗
4. Урок 14.3. Secrets и SSH в сборке: --mount=type=secret и ssh ↗

Модуль 15. PID 1, сигналы и graceful shutdown

4 урока
1. Урок 15.1. PID 1: почему процесс ведёт себя иначе ↗
2. Урок 15.2. SIGTERM, SIGKILL и stop_grace_period в Compose ↗
3. Урок 15.3. tini и --init: зачем нужен init и когда он спасает ↗
4. Урок 15.4. Graceful shutdown в коде: Node, Python и Go ↗

Модуль 16. Healthcheck и долгоживущие сервисы

4 урока
1. Урок 16.4. Антипаттерны health-проверок: что не считается health ↗
2. Урок 16.1. HEALTHCHECK в Dockerfile: синтаксис и состояния ↗
3. Урок 16.2. Healthcheck в Compose и depends_on: service_healthy ↗
4. Урок 16.3. Healthcheck vs liveness/readiness в Kubernetes ↗

Модуль 17. Хранение, бэкапы и миграция данных

4 урока
1. Урок 17.1. Стратегии хранения: тома, bind mounts, внешние диски ↗
2. Урок 17.2. Бэкапы томов: dump, snapshot и restic ↗
3. Урок 17.3. Миграция данных между хостами и кластерами ↗
4. Урок 17.4. Восстановление после сбоев и проверка целостности ↗

Модуль 18. Production-сетка и обратные прокси

4 урока
1. Урок 18.1. Обратный прокси: Nginx, Traefik и Caddy ↗
2. Урок 18.2. TLS и автоматические сертификаты Let's Encrypt ↗
3. Урок 18.3. Балансировка, sticky sessions и upstream ↗
4. Урок 18.4. Настройка прокси в Compose и в production ↗

Модуль 19. Observability: логи, метрики, трейсинг

4 урока
1. Урок 19.1. Три кита observability: логи, метрики и трейсинг ↗
2. Урок 19.2. Стек логов: Loki, Promtail и Grafana ↗
3. Урок 19.3. Метрики: Prometheus, exporters и дашборды ↗
4. Урок 19.4. Распределённый трейсинг: OpenTelemetry и Jaeger ↗

Модуль 20. Финальный проект

4 урока
1. Урок 20.1. Постановка задачи: микросервисное приложение в Docker ↗
2. Урок 20.2. Сборка образов и multi-stage Dockerfile ↗
3. Урок 20.3. Compose-стенд с базами и прокси ↗
4. Урок 20.4. Релиз: CI/CD, healthcheck и мониторинг ↗