Инструменты и инфраструктураБазовыйСкоро
Курс Docker
Контейнеры от первого docker run до Compose: образы и слои, тома и сети, многоступенчатая сборка, журналы и эксплуатация демона.
Курс готовится к публикации
Материалы курса написаны и проверены, идёт подготовка к выходу на сайте: программа ниже — настоящая. Открытые курсы можно читать уже сейчас, а о запуске этого напишите — ответим, когда он появится.
- Модулей
- 12
- Ак. часов
- 89
- Разделов
- 102
Что нужно знать заранее. уверенная работа в командной строке; установка Docker Desktop разбирается в модуле 1.
Программа курса
12 модулей; каждый — полноценное занятие с теорией, листингами, практикой и домашним заданием.
- 1
Введение в контейнеризацию
Контейнеризация — метод виртуализации на уровне операционной системы, позволяющий запускать приложения в изолированных пространствах, называемых контейнерами…
Что такое контейнеризацияКонтейнеры vs VMАрхитектура DockerУстановкаПервый запуск
- 2
Образы (Images)
Образ (image) — неизменяемый шаблон, из которого создаются контейнеры. Содержит файловую систему приложения, библиотеки, зависимости и метаданные.
Что такое образСлоиDocker Hubpull / images / rmiТегиinspect / history
- 3
Контейнеры (Containers)
Ключевой момент жизненного цикла: остановленный контейнер — не то же самое, что удалённый…
Жизненный циклdocker runps / stop / startlogs / execcpNginx / PostgreSQL / Redis
- 4
Dockerfile — создание образов
Dockerfile — текстовый файл с инструкциями для сборки Docker-образа, его рецепт. Docker выполняет инструкции сверху вниз…
Структура DockerfileFROM / RUN / COPY / CMD / ENTRYPOINT.dockerignorebuild / tag / push
- 5
Многоэтапная сборка (Multi-stage builds)
При сборке приложения в Docker-образ часто включаются инструменты, которые нужны только для сборки (компиляторы, dev-зависимости, сборщики), но не нужны для…
Проблема больших образовMulti-stage синтаксисОптимизацияКэширование слоёвReact / Go / Python
- 6
Тома и хранение данных (Volumes)
По умолчанию все данные, записанные внутри контейнера, хранятся в его writable-слое. Когда контейнер удаляется — данные теряются…
VolumesBind mountstmpfs-v vs --mountИменованные томаPersistent DBHot-reload
- 7
Сети (Networking)
Каждый контейнер получает собственный сетевой стек: свой IP-адрес, сетевые интерфейсы, таблицу маршрутизации (внутренний список правил, куда направлять исходящие…
bridgehostnoneoverlayDNSПсевдонимыПроброс портовИзоляция сетей
- 8
Docker Compose
Docker Compose — инструмент для описания и запуска многоконтейнерных приложений. Вместо множества команд docker run вся инфраструктура описывается в одном…
docker-compose.ymlпроект и configservices / volumes / networksdepends_onhealthcheck.envprofilesмасштабирование
- 9
Docker для разработки
В разработке и продакшене нужны принципиально разные настройки Docker. В dev-среде приоритет — удобство разработчика: hot-reload (автоматическое обновление при…
Dev vs Prodoverride.ymlHot-reloadОтладкаVS Code Dev Containers
- 10
Безопасность и лучшие практики
По умолчанию процессы в контейнере запускаются от имени root. Хотя контейнер изолирован от хоста, запуск от root увеличивает поверхность атаки: при обнаружении…
non-rootСканированиеСекретыМинимальные образыРесурсыHealthcheckhadolint
- 11
Docker Registry и CI/CD
Docker Hub (hub.docker.com) — крупнейший публичный реестр Docker-образов. Это аналог GitHub, но для контейнерных образов…
Docker Hubghcr.ioGitLab RegistryAWS ECRGitHub ActionsКэширование
- 12
Оркестрация и продакшен
Когда приложение работает на одном сервере в нескольких контейнерах, Docker Compose справляется с задачей…
SwarmKubernetesОблако (ECS, Cloud Run)МониторингЛогирование и место на дискеCompose vs K8s