Варианты учебного расписания
О чём этот файл
Три плана прохождения курса с понедельной разбивкой, контрольными точками и сроками проектов. Выберите один до начала обучения и придерживайтесь его: нерегулярные занятия по этому материалу работают плохо — слишком многое приходится восстанавливать в памяти.
Два бюджета времени
Прежде чем выбирать план, разберитесь с арифметикой. У курса есть два разных объёма.
| Бюджет | Что входит | Часов |
|---|---|---|
| Обязательный минимум | Все уроки, обязательные упражнения (отмечены как «обязательное» в exercises.md), quizzes, checkpoints, проекты 1 и 2 | ≈ 84 ч |
| Полная программа | То же плюс все дополнительные упражнения, задания повышенной сложности, проекты 3 и 4, debugging challenges, итоговый экзамен | ≈ 174 ч |
Расписания ниже рассчитаны на обязательный минимум. Полная программа достигается либо продлением плана (раздел «Завершение»), либо параллельным применением материала в рабочих задачах — что обычно эффективнее.
Оценки времени по разделам — в карте курса.
Сравнение вариантов
| A. Интенсивный | B. Стандартный | C. Спокойный | |
|---|---|---|---|
| Длительность | 4 недели | 8 недель | 12 недель |
| Нагрузка | 2–3 ч в день | 1–1.5 ч в день | 4–5 ч в неделю |
| Бюджет | ≈ 84 ч | ≈ 84 ч | ≈ 60 ч |
| Охват | Разделы 00–16, 18, 19 + проекты 1–2 | То же | Разделы 00–11, 13 + проекты 1–2 |
| Занятий в неделю | 7 | 6–7 | 2–3 по 2 ч |
| Кому подходит | Есть выделенное время: отпуск, перерыв между проектами, обучение на работе | Обучение параллельно с основной работой — рекомендуемый по умолчанию | Нерегулярный график, приоритет на закрепление |
| Главный риск | Перегрузка: материал читается, но не усваивается | Потеря темпа на 4–5 неделе | Забывание материала между занятиями |
Варианты A и B имеют одинаковый бюджет и охват и различаются только плотностью: A — 3 часа в день четыре недели, B — 1.5 часа в день восемь недель. Выбирайте по тому, что реалистичнее для вашего графика, а не по амбициям.
Вариант A. Интенсивный — 4 недели
Нагрузка: 2–3 часа в день, 7 дней в неделю (≈ 21 ч в неделю).
Предупреждение. Этот темп работает только при полной концентрации. Если после трёх дней вы обнаруживаете, что читаете, но не выполняете команды — переходите на вариант B. Прочитанный и не выполненный материал не даёт навыка.
Неделя 1. Фундамент
| День | Материал | Часы |
|---|---|---|
| 1 | 00. Обзор курса целиком, 01. Среда: уроки 01–03 | 3 |
| 2 | 01. Среда: уроки 04–06 + exercises.md | 3 |
| 3 | 02. Основы: уроки 01–04 | 3 |
| 4 | 02. Основы: уроки 05–07 + exercises.md | 3 |
| 5 | 03. Images: уроки 01–05 + exercises.md | 3 |
| 6 | 04. Lifecycle: уроки 01–06 + exercises.md | 4 |
| 7 | Quizzes 01–04, Checkpoint 1 | 2 |
Практика недели: установка Docker, первый container, сравнение PID на host и в container, исследование namespaces и cgroups, анализ image через docker history, перенос image через save/load, тест restart policy, проверка exit codes.
Контрольная точка: Checkpoint 1 — запустить долгоживущий container, корректно остановить, объяснить exit code, показать namespaces процесса на host.
Ожидаемый результат: учащийся понимает, что container — это процесс, и умеет управлять им и его образом.
Неделя 2. Сборка и Python
| День | Материал | Часы |
|---|---|---|
| 8 | 05. Dockerfile: уроки 01–04 | 3 |
| 9 | 05. Dockerfile: уроки 05–07 | 3 |
| 10 | 05. Dockerfile: уроки 08–09 + exercises.md | 3 |
| 11 | 06. Python: уроки 01–04 | 3 |
| 12 | 06. Python: уроки 05–08 | 3 |
| 13 | 06. Python: уроки 09–13 + exercises.md | 4 |
| 14 | Проект 1. Python CLI | 3 |
Практика недели: намеренная поломка и починка build cache, multi-stage build со сравнением размеров, сборка образов для CLI, Flask и FastAPI, настройка non-root user, проверка graceful shutdown.
Контрольная точка: Проект 1 сдан по CHECKLIST.md.
Ожидаемый результат: учащийся пишет Dockerfile для Python-приложения самостоятельно и объясняет каждую строку.
Неделя 3. Состояние, сеть, Compose
| День | Материал | Часы |
|---|---|---|
| 15 | 07. Storage: уроки 01–03 | 3 |
| 16 | 07. Storage: уроки 04–06 + exercises.md | 3 |
| 17 | 08. Networking: уроки 01–03 | 3 |
| 18 | 08. Networking: уроки 04–06 + exercises.md | 3 |
| 19 | 09. Compose: уроки 01–04 | 3 |
| 20 | 09. Compose: уроки 05–07 + exercises.md | 3 |
| 21 | Quizzes 05–09, Checkpoint 2 | 3 |
Практика недели: воспроизведение проблемы UID/GID и её решение без chmod 777, backup и restore volume, связывание двух containers, диагностика ошибки с localhost, stack из четырёх сервисов с healthchecks.
Контрольная точка: Checkpoint 2 — поднять stack, где приложение дожидается готовности базы, и доказать это логами.
Ожидаемый результат: учащийся проектирует многокомпонентную систему, а не отдельный container.
Неделя 4. Эксплуатация и доставка
| День | Материал | Часы |
|---|---|---|
| 22 | 10. Development workflow целиком | 3 |
| 23 | Проект 2. FastAPI service | 3 |
| 24 | Проект 2 + 11. Production: уроки 01–03 | 3 |
| 25 | 11. Production: уроки 04–06, 12. Security: уроки 01–03 | 3 |
| 26 | 12. Security: уроки 04–07, 13. Observability: уроки 01–03 | 3 |
| 27 | 13. Observability: уроки 04–06, 14. Registry целиком | 3 |
| 28 | 15. Testing, 16. CI/CD, 18, 19 — обзорно | 3 |
Практика недели: production-ready образ с non-root и read-only filesystem, запуск с resource limits, проверка graceful shutdown, локальный registry, integration test с PostgreSQL, pipeline в GitHub Actions.
Контрольная точка: Checkpoint 3 и Проект 2 сдан.
Ожидаемый результат: учащийся доводит сервис от кода до опубликованного образа.
Не вошло в 4 недели: 17. Docker internals, debugging challenges, проекты 3 и 4, итоговый экзамен. См. раздел «Завершение».
Вариант B. Стандартный — 8 недель
Нагрузка: 1–1.5 часа в день, 6–7 дней в неделю (≈ 10.5 ч в неделю). Рекомендуемый вариант по умолчанию.
Охват совпадает с вариантом A. Каждая неделя A разбита на две.
| Неделя | Материал | Практика | Контрольная точка | Результат недели |
|---|---|---|---|---|
| 1 | 00 целиком, 01. Среда целиком | Установка Docker, hello-world, systemctl, проверка socket | Quiz 01 | Рабочая среда, понимание рисков группы docker |
| 2 | 02. Основы целиком | Сравнение PID на host и в container, lsns, чтение cgroup | Quiz 02 | Container как процесс — не метафора, а проверяемый факт |
| 3 | 03. Images целиком | docker history, сравнение tag и digest, save/load | Quiz 03 | Умение объяснить размер образа |
| 4 | 04. Lifecycle целиком | exec, stop против kill, exit codes, restart policy | Quiz 04, Checkpoint 1 | Управление процессом в container |
| 5 | 05. Dockerfile целиком | Поломка и починка cache, multi-stage, сравнение размеров | Quiz 05 | Качественный Dockerfile |
| 6 | 06. Python, уроки 01–07 | Base image, dependency locking, non-root, logging | — | Python-специфика образов |
| 7 | 06. Python, уроки 08–13 + exercises.md | CLI, Flask, FastAPI, worker, pytest в container | Quiz 06 | Контейнеризация любого Python-приложения |
| 8 | Проект 1. Python CLI | Полный проект | CHECKLIST | Первый самостоятельный результат |
Промежуточный итог после 8 недель — это ровно половина плана. Продолжение:
| Неделя | Материал | Практика | Контрольная точка | Результат недели |
|---|---|---|---|---|
| 9 | 07. Storage целиком | UID/GID, backup volume, read-only rootfs | Quiz 07 | Управление состоянием |
| 10 | 08. Networking целиком | User-defined network, DNS, диагностика localhost | Quiz 08 | Связывание сервисов |
| 11 | 09. Compose целиком | Stack FastAPI + PostgreSQL + Redis + worker | Quiz 09, Checkpoint 2 | Многокомпонентная система |
| 12 | 10. Development workflow целиком | Hot reload, миграции, Makefile | Quiz 10 | Рабочее окружение |
| 13 | Проект 2. FastAPI service | Полный проект | CHECKLIST | Production-ориентированный сервис |
| 14 | 11. Production, 12. Security | Hardening, resource limits, поиск опасных настроек | Quizzes 11–12, Checkpoint 3 | Безопасный production-образ |
| 15 | 13. Observability, 14. Registry | Диагностика по таблице, локальный registry | Quizzes 13–14 | Диагностика и публикация |
| 16 | 15. Testing, 16. CI/CD, 18, 19 | Integration tests, pipeline GitHub Actions | Quizzes 15–16 | Автоматическая доставка |
Уточнение по срокам. «8 недель» в этом плане означает 8 недель до первого самостоятельного проекта и 16 недель до полного охвата при нагрузке 1–1.5 ч в день. Если нужен именно 8-недельный полный цикл, увеличьте нагрузку до 2–2.5 ч в день или выберите вариант A.
Вариант C. Спокойный — 12 недель
Нагрузка: 4–5 часов в неделю, 2–3 занятия по 1.5–2 часа (≈ 60 ч всего).
Охват сокращён осознанно: вместо поверхностного прохода по всем 19 разделам план даёт прочное ядро. Разделы 12, 14–19 выносятся в «Завершение».
| Неделя | Материал | Часы | Практика | Результат недели |
|---|---|---|---|---|
| 1 | 00, 01. Среда: уроки 01–04 | 5 | Установка Docker, первый container | Docker установлен и проверен |
| 2 | 01: уроки 05–06 + exercises.md, 02. Основы: уроки 01–02 | 5 | Socket, rootless, сравнение с VM | Понимание модели изоляции |
| 3 | 02. Основы: уроки 03–07 + exercises.md | 5 | Namespaces, cgroups, capabilities | Container как процесс |
| 4 | 03. Images целиком | 5 | history, digests, save/load | Анализ образов |
| 5 | 04. Lifecycle целиком | 5 | Signals, exit codes, PID 1 | Checkpoint 1 |
| 6 | 05. Dockerfile: уроки 01–05 | 5 | Build context, CMD/ENTRYPOINT, cache | Основы сборки |
| 7 | 05. Dockerfile: уроки 06–09 + exercises.md | 5 | BuildKit, multi-stage, healthcheck | Оптимизированный образ |
| 8 | 06. Python: уроки 01–06 | 5 | Base image, зависимости, logging | Python-специфика |
| 9 | 06. Python: уроки 07–13 + exercises.md | 5 | Non-root, FastAPI, workers | Контейнеризация приложения |
| 10 | Проект 1, 07. Storage: уроки 01–03 | 5 | Проект + volumes | Первый проект сдан |
| 11 | 07. Storage: уроки 04–06, 08. Networking: уроки 01–03 | 5 | UID/GID, port publishing | Состояние и сеть |
| 12 | 08. Networking: уроки 04–06, 09. Compose: уроки 01–04 | 5 | DNS, диагностика, первый stack | Checkpoint 2 |
После 12 недель: учащийся уверенно контейнеризирует Python-приложение и описывает простой stack. Для полного охвата продолжите ещё 6–8 недель по тому же темпу:
| Недели | Материал |
|---|---|
| 13–14 | 09. Compose: уроки 05–07, 10. Development workflow, Проект 2 |
| 15–16 | 11. Production, 12. Security, Checkpoint 3 |
| 17–18 | 13. Observability, 14. Registry, 15. Testing |
| 19–20 | 16. CI/CD, 17, 18, 19 |
Завершение курса (после любого плана)
Элементы, которые не помещаются в базовые расписания, но нужны для полного результата. Порядок имеет значение.
| Этап | Материал | Часы | Зачем |
|---|---|---|---|
| 1 | Проект 3. Multi-service stack | 12 | Единственное место, где проверяется проектирование системы целиком |
| 2 | 13. Observability — полностью, если проходили обзорно | 7 | Нужно до debugging challenges |
| 3 | Debugging challenges 1–20 | 10 | Главный тренажёр диагностики. Не пропускайте |
| 4 | 17. Docker internals | 7 | Закрывает вопросы «а почему именно так» |
| 5 | Проект 4. Production pipeline | 12 | Итоговая интеграция всего материала |
| 6 | Итоговый теоретический тест | 2 | Проверка понимания механизмов |
| 7 | Итоговый практический экзамен | 6 | Контейнеризация незнакомого приложения с нуля |
| Итого | 56 ч |
Как не сорвать план
Практические рекомендации, проверенные на курсах такого объёма.
- Фиксируйте время, а не объём. «Занимаюсь час» выполнимо; «прохожу раздел за вечер» — нет, разделы разного размера.
- Начинайте занятие с терминала, а не с текста. Откройте прошлое упражнение, повторите две-три команды — это восстанавливает контекст быстрее перечитывания.
- Не пропускайте
exercises.md. Разница между «прочитал про namespaces» и «увидел разные PID для одного процесса» — это разница между L1 и L3 в карте компетенций. - Чистите за собой. После каждого занятия удаляйте созданные containers и volumes по cleanup checklist. Иначе через две недели диск закончится, и вы будете отлаживать это вместо обучения.
- Ведите журнал ошибок. Каждая непонятная ошибка, которую вы победили, — заготовка для раздела 13. Записывайте симптом, причину и исправление.
- Пропустив неделю, не догоняйте. Сдвиньте план. Попытка пройти двойной объём за неделю приводит к чтению без выполнения.
- Применяйте на рабочем проекте. Самый быстрый способ закрепить материал — переписать
Dockerfileреального сервиса после раздела 06. - Отмечайте прогресс в таблице в MAIN.md. Видимый прогресс — единственная защита от потери мотивации на 5–6 неделе.
Навигация
← Предыдущий материал
Вернуться к главному оглавлению
Следующий материал → Система оценивания