Docker
Контейнеризация и деплой: от Dockerfile до выкатки на VPS через Compose
Уровень: Средний · около 5 ч · после курса: Соберёшь образ своего приложения, поднимешь его с базой через Compose и выкатишь на VPS
Чему научишься
- Написать Dockerfile с multi-stage build
- Уменьшить образ до < 50MB
- Описать docker-compose для локального запуска
- Использовать health checks
- Понять networking и volumes
- Деплой через GitLab CI
Уроки курса (10)
Модуль 1 · Основы Docker
Зачем контейнеры, установка и первый Dockerfile
- Docker: зачем он нужен и почему это не «магия контейнеров» - Контейнеры простыми словами: чтобы «у меня работает» стало «у всех работает»
- Установка Docker и первые команды - docker run, ps, logs - базовый набор выживания
- Dockerfile: собираем образ по шагам - FROM, WORKDIR, COPY, RUN, CMD - пять заклинаний
Модуль 2 · Сборка и compose
Multi-stage на Go, PHP и Python, Compose со связкой сервиса и базы
- Multi-stage build: образ без компилятора и мусора сборки - Собираем в builder, запускаем в slim образе - на Go, PHP и Python
- Дополнительно: Dockerfile для фронтенда и раздача статики через nginx - Необязательный урок: как упаковать SPA в образ и отдавать её nginx - пригодится, когда фронт деплоите вы
- docker-compose: поднимаем приложение вместе с базой - Один файл - и весь проект оживает
- Переменные окружения, volume, сети - Переменные окружения, тома и сети: где живут конфиги и данные
Модуль 3 · Production
Отладка, healthcheck, размер образа, CI и деплой на VPS
- Отладка: логи, exec, healthcheck, размер образа - Как чинить контейнеры, не тыкая пальцем в монитор
- GitLab CI: lint, test и сборка образов - Пайплайн, который делает работу за тебя: примеры для Go, PHP и Python
- Деплой на VPS (masterhost): docker compose на сервере - Выкатка на сервер: ssh, переменные окружения, обновление контейнеров