Introduction to Docker

Продолжительность курса — 1 дней

Описание Услуги

Курс познакомит вас с экосистемой контейнеров на основе Docker. В этом курсе мы разберемся в отличиях контейнеров от виртуальных машин, рассмотрим основные компоненты Docker. На практике применим концепцию “инфраструктура как код”, научимся запускать приложения в Docker контейнерах и вести разработку с использованием Docker. Научимся, как взаимодействовать с другими компонентами проекта при разработке в Docker. Также мы затронем типовые задачи эксплуатации: работа с сетями, управление конфигурацией.

Содержание курса

01. Введение в Docker (теория + практика). Требуется переделать существующий модуль.

  • Теория: Описание проблем, которые решает система Docker, описание области применимости. Виртуализация vs контейнеризация. Сущности Docker: docker daemon, container, image, Dockerfile, docker registry
  • Практика: подготовка рабочего окружения для работы с Docker. Запуск контейнеров. Сборка image. Работа с Docker Hub.

02. Работа с сетью и с данными

  • Сеть в Docker, взаимодействие приложений в Docker контейнерах. Хранение персистентных данных в Docker, жизненный цикл stateful приложений.
  • Практика: Использование и управление основными видами сетей в Docker. Интеграция с существующей сетевой инфраструктурой проекта. Работа со stateful приложением на примере PostgreSQL.

03. Разработка и запуск проекта в Docker

  • Декларативное описание проекта с помощью Dockerfile и docker compose, развертывание локальных окружений. Разработка в Docker окружении, подготовка компонентов проекта для работы в Docker.
  • Практика: сборка image с приложением из Dockerfile. Описание сервиса (балансировщик, приложение, база данных) с помощью docker-compose. Практика разработки компонентов проекта в Docker.

04. Рекомендуемые практики работы с Docker.

  • Уменьшения размера образов, ускорение сборки. Практики разработки ПО в Docker контейнерах, версиониование, организация логирования в Docker, вопросы безопасности, последовательность запуска контейнеров в проекте