Introduction to Docker

devops

Введение в Docker

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

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

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

  1. Введение в Docker (теория + практика). Требуется переделать существующий модуль.
    1. Теория: Описание проблем, которые решает система Docker, описание области применимости. Виртуализация vs контейнеризация. Сущности Docker: docker daemon, container, image, Dockerfile, docker registry
    2. Практика: подготовка рабочего окружения для работы с Docker. Запуск контейнеров. Сборка image. Работа с Docker Hub.
  2. Работа с сетью и с данными
    1. Сеть в Docker, взаимодействие приложений в Docker контейнерах. Хранение персистентных данных в Docker, жизненный цикл stateful приложений.
    2. Практика: Использование и управление основными видами сетей в Docker. Интеграция с существующей сетевой инфраструктурой проекта. Работа со stateful приложением на примере PostgreSQL.
  3. Разработка и запуск проекта в Docker.
    1. Декларативное описание проекта с помощью Dockerfile и docker compose, развертывание локальных окружений. Разработка в Docker окружении, подготовка компонентов проекта для работы в Docker.
    2. Практика: сборка image с приложением из Dockerfile. Описание сервиса (балансировщик, приложение, база данных) с помощью docker-compose. Практика разработки компонентов проекта в Docker.
  4. Рекомендуемые практики работы с Docker.
    1. Уменьшения размера образов, ускорение сборки. Практики разработки ПО в Docker контейнерах, версиониование, организация логирования в Docker, вопросы безопасности, последовательность запуска контейнеров в проекте
Introduction to Docker
DevOps,