- Тренинг
- Место
Рассматривается экосистема контейнеров на основе Docker, отличия контейнеров от виртуальных машин, основные компоненты Docker. На практике разбирается концепция “инфраструктура как код”. Затрагивается вопрос о типовых задачах эксплуатации: работа с сетями, управление конфигурацией.
На курсе вы познакомитесь с экосистемой контейнеров на основе Docker. Мы разберемся, в чем отличие контейнеров от виртуальных машин, рассмотрим основные компоненты Docker.
На практике разберем концепцию “инфраструктура как код”, научимся запускать приложения в Docker-контейнерах и вести разработку с использованием Docker.
Узнаем, как взаимодействовать с другими компонентами проекта при разработке в Docker. Также затронем типовые задачи эксплуатации: работа с сетями, управление конфигурацией.
Цели
Познакомить с возможностями Docker для построения Continuous Delivery процесса поставки ПО.
Целевая аудитория
Системные администраторы, инфраструктурные инженеры, разработчики, продвинутые тестировщики.
Предварительная подготовка
Базовое знание ОС Linux.
Разбираемые темы
- Введение в Docker:
- Описание проблем, которые решает система Docker, описание области применимости;
- Виртуализация vs контейнеризация;
- Сущности Docker: docker daemon, container, image, Dockerfile, Docker registry;
- Практика: подготовка рабочего окружения для работы с Docker. Запуск контейнеров. Сборка image. Работа с Docker Hub.
- Работа с сетью и с данными:
- Сеть в Docker, взаимодействие приложений в Docker-контейнерах;
- Хранение персистентных данных в Docker, жизненный цикл Stateful-приложений;
- Практика: использование и управление основными видами сетей в Docker. Интеграция с существующей сетевой инфраструктурой проекта. Работа со Stateful-приложением на примере PostgreSQL.
- Разработка и запуск проекта в Docker:
- Декларативное описание проекта с помощью Dockerfile и Docker compose, развертывание локальных окружений;
- Разработка в Docker окружении, подготовка компонентов проекта для работы в Docker;
- Практика: сборка Image с приложением из Dockerfile. Описание сервиса (балансировщик, приложение, база данных) с помощью Docker compose. Практика разработки компонентов проекта в Docker.
- Рекомендуемые практики работы с Docker:
- Уменьшения размера образов, ускорение сборки;
- Практики разработки ПО в Docker-контейнерах, версиониование, организация логирования в Docker, вопросы безопасности, последовательность запуска контейнеров в проекте.