Контейнеры: Docker и compose
Образ и контейнер, порты, окружение и перезапуск, свой Dockerfile, тома, сеть контейнеров и стек compose, лимиты памяти и пользователь в контейнере.
11 ступеней5 лаб~6 часов средний
Трек не начат. Первая ступень — «Образ, контейнер и процесс», ~30 мин.
Модуль 1
Контейнер изнутри
Чем образ отличается от контейнера, почему контейнер сразу завершился, как опубликовать порт, передать окружение и задать перезапуск.
3 ступени · ~2 часа
-
Ступень 1 из 11
1 · Образ, контейнер и процессОбраз, контейнер и процесс
6 шагов · ~30 мин 6 шагов · ~30 мин- Веб-сервер запустился и пропал упражнения 0 из 1 на машине 5 мин
- 2 Образ и контейнер на машине 6 мин
- 3 Контейнер живёт, пока работает его процесс на машине 8 мин
- 4 Внутри контейнера на машине 5 мин
- 5 Эксперимент: контейнер из alpine на машине 4 мин
- 6 Итог итог 2 мин
-
Ступень 2 из 11
2 · Порты, переменные и перезапускПорты, переменные и перезапуск
8 шагов · 2 лабы · ~1 час 8 шагов · 2 лабы · ~1 час- Контейнер работает, а сайт молчит упражнения 0 из 1 на машине 5 мин
- 2 Порт контейнера и порт сервера на машине 7 мин
- 3 Переменные окружения на машине 6 мин
- 4 Политика перезапуска теория 6 мин
- 5 Эксперимент: очередь, которая поднимается сама на машине 4 мин
- 6 Контейнер не запускается лаба 20 мин
- 7 Служба из контейнера лаба 20 мин
- 8 Итог итог 2 мин
-
3 · Тест модуля 10 вопросов · порог 70%
Модуль 2
Образы и данные
Как собрать образ из Dockerfile, где работает кэш слоёв, где живут данные контейнера и как их сохранить томом или каталогом хоста.
3 ступени · ~2 часа
-
Ступень 4 из 11
4 · Dockerfile: свой образDockerfile: свой образ
7 шагов · 1 лаба · ~50 мин 7 шагов · 1 лаба · ~50 мин- Правка не дошла упражнения 0 из 1 на машине 5 мин
- 2 Образ собирают по Dockerfile на машине 7 мин
- 3 Слои и теги теория 5 мин
- 4 Кэш сборки на машине 7 мин
- 5 Своя витрина на nginx на машине 4 мин
- 6 Новая версия образа лаба 20 мин
- 7 Итог итог 2 мин
-
Ступень 5 из 11
5 · Тома: данные переживают контейнерТома: данные переживают контейнер
7 шагов · 1 лаба · ~50 мин 7 шагов · 1 лаба · ~50 мин- Заметки пропали упражнения 0 из 1 на машине 5 мин
- 2 Слой контейнера теория 5 мин
- 3 Именованный том на машине 7 мин
- 4 Каталог хоста на машине 6 мин
- 5 Отчёт через nginx на машине 5 мин
- 6 Данные после пересоздания лаба 20 мин
- 7 Итог итог 2 мин
-
6 · Тест модуля 10 вопросов · порог 70%
Модуль 3
Несколько контейнеров
Как контейнеры находят друг друга по имени, как описать стек одним файлом и разобрать его отказ по compose ps и logs.
3 ступени · ~1 час
-
Ступень 7 из 11
7 · Сеть контейнеров: имена и портыСеть контейнеров: имена и порты
6 шагов · ~30 мин 6 шагов · ~30 мин- Приложение не находит базу упражнения 0 из 1 на машине 6 мин
- 2 Сеть по умолчанию на машине 7 мин
- 3 Своя сеть: имена работают на машине 6 мин
- 4 Порт соседа теория 5 мин
- 5 Эксперимент: сервис отчётов на машине 4 мин
- 6 Итог итог 2 мин
-
Ступень 8 из 11
8 · docker compose: стек одним файломdocker compose: стек одним файлом
7 шагов · ~30 мин 7 шагов · ~30 мин- Сайт отвечает 502 упражнения 0 из 1 на машине 5 мин
- 2 Файл стека на машине 6 мин
- 3 Правка и пересоздание на машине 5 мин
- 4 Тома и down теория 4 мин
- 5 Проверка здоровья теория 4 мин
- 6 Эксперимент: стек заметок на машине 4 мин
- 7 Итог итог 2 мин
-
9 · Тест модуля 10 вопросов · порог 70%
Модуль 4
Ресурсы и безопасность контейнера
Как ограничить память и CPU контейнера, что значат код 137 и OOMKilled и как запустить процесс не от root.
2 ступени · ~1 час
-
Ступень 10 из 11
10 · Лимиты, OOMKilled и пользователь в контейнереЛимиты, OOMKilled и пользователь в контейнере
9 шагов · 1 лаба · ~55 мин 9 шагов · 1 лаба · ~55 мин- Отчёт оборвался упражнения 0 из 1 на машине 4 мин
- 2 Лимит памяти и OOM killer теория 6 мин
- 3 Сколько берёт контейнер на машине 4 мин
- 4 Квота процессора теория 4 мин
- 5 Кто работает в контейнере на машине 4 мин
-
6
Ключ
--userтеория 3 мин - 7 Отчёт до конца на машине 3 мин
- 8 Контейнер перезапускается под нагрузкой лаба 25 мин
- 9 Итог итог 2 мин
-
11 · Тест модуля 9 вопросов · порог 70%
-
-
Итоговый тест 18 вопросов · порог 80%