Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ГАК-2026.docx
Скачиваний:
1
Добавлен:
16.06.2026
Размер:
2.66 Mб
Скачать

39. Контейнеризация и оркестрация: Docker и Kubernetes

Контейнеризация — это технология, которая позволяет запускать приложения в изолированных средах, называемых контейнерами. Контейнер содержит приложение и все необходимые для его работы зависимости.

Одним из наиболее популярных инструментов контейнеризации является Docker. Он позволяет создавать контейнеры, запускать их на разных компьютерах и обеспечивать одинаковую среду выполнения.

Когда количество контейнеров становится большим, возникает необходимость управлять ими автоматически. Для этого используются системы оркестрации контейнеров.

Одной из самых известных систем оркестрации является Kubernetes. Она позволяет автоматически запускать, масштабировать и управлять контейнерами в распределённых системах.

Контейнеризация и оркестрация широко применяются при разработке современных облачных и веб-приложений.

Вопрос 39: Контейнеризация и оркестрация: Docker, Kubernetes — принципы и применение в ис

1. Введение: что такое контейнеризация?

Контейнеризация — это метод виртуализации на уровне операционной системы, который позволяет запускать и изолировать приложения со всеми их зависимостями в отдельных средах — контейнерах.

В отличие от виртуальных машин, которые включают в себя целую ОС со своим ядром, контейнеры используют ядро хостовой ОС, но изолируют пространство процессов, файловую систему, сеть. Это делает их очень лёгкими и быстрыми.

Основная идея: "упаковать" приложение вместе со всем, что ему нужно для работы (библиотеки, конфиги, зависимости), и гарантировать, что оно будет работать одинаково на любом компьютере — на ноутбуке разработчика, тестовом сервере, в production.

2. Зачем нужна контейнеризация?

Проблемы, которые решают контейнеры:

  1. "На моей машине работает" — проблема различия окружений. В контейнере приложение всегда работает в одном и том же окружении.

  2. Эффективное использование ресурсов — контейнеры легче виртуальных машин, запускаются за секунды.

  3. Изоляция — приложения не мешают друг другу, даже если им нужны разные версии библиотек.

  4. Упрощение развёртывания — контейнер с приложением можно легко переместить между средами.

  5. Масштабирование — легко запустить много копий контейнера для обработки нагрузки.

  6. Микросервисная архитектура — каждый микросервис удобно упаковать в свой контейнер.

3. Docker — платформа для контейнеризации

Docker — это самая популярная платформа для создания, доставки и запуска контейнеров. Она стала фактическим стандартом индустрии.

3.1. Основные понятия Docker

  • Docker-образ (Image) — шаблон, "слепок" для создания контейнеров. Образ содержит приложение, его зависимости, настройки. Образы собираются из инструкций в Dockerfile. Образы — read-only.

  • Docker-контейнер (Container) — запущенный экземпляр образа. Контейнер имеет своё изолированное окружение. Контейнеры можно запускать, останавливать, удалять.

  • Dockerfile — текстовый файл с инструкциями для сборки образа.

  • Docker Hub / Реестр — хранилище образов (публичное или частное). Оттуда можно скачивать готовые образы (например, Ubuntu, PostgreSQL, Python) и загружать свои.

  • Docker Compose — инструмент для описания и запуска многоконтейнерных приложений (например, веб-сервер + БД + Redis) с помощью YAML-файла.