Продолжительность: 8 академических часов.
Цель курса познакомить с возможностями Docker для построения Continuous Delivery процесса поставки ПО.
Аудитория
Системные администраторы, инфраструктурные инженеры, разработчики, продвинутые тестировщики.
Предварительная подготовка
Базовое знание ОС Linux.
В рамках курса слушатели:
• Познакомятся с экосистемой контейнеров на основе Docker;
• Разберутся в отличиях контейнеров от виртуальных машин;
• Рассмотрят основные компоненты Docker;
• На практике применят концепцию “инфраструктура как код”;
• Научатся запускать приложения в Docker контейнерах и вести разработку с использованием Docker;
• Научатся взаимодействовать с другими компонентами проекта при разработке в Docker;
• Затронут типовые задачи эксплуатации: работа с сетями, управление конфигурацией.
Программа
Введение в 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, вопросы безопасности, последовательность запуска контейнеров в проекте.
- Лекции 0
- Тесты 0
- Учебное время 50 hours
- Навык Все уровни
- Язык English
- Студенты 0
- Оценки Да