Проверяет понимание границ применения Docker Compose и того, когда для мультихостового развёртывания нужны оркестраторы вроде Docker Swarm или Kubernetes.
Docker Compose — это инструмент для описания и запуска многоконтейнерных приложений на одном хосте. Он читает файл docker-compose.yml и через локальный Docker daemon создаёт сети, тома и контейнеры. Поскольку Compose общается именно с локальным daemon, он не умеет сам распределять контейнеры по нескольким машинам.
В продакшене часто нужны отказоустойчивость, балансировка нагрузки и горизонтальное масштабирование. Если все контейнеры живут на одной машине, её падение останавливает всё приложение. Поэтому появляется потребность запускать сервисы на нескольких серверах.
docker stack deploy) и распределяет сервисы по нодам кластера.# docker-compose.yml (один хост)
services:
web:
image: nginx:alpine
ports:
- "80:80"
# Развёртывание в Swarm на нескольких нодах
docker swarm init
docker stack deploy -c docker-compose.yml myapp
# Swarm сам решит, на каких нодах запустить реплики
Важно: даже в Swarm Compose-файл описывает сервисы, но решение о размещении принимает планировщик кластера, а не сам Compose.
Итог: Docker Compose применяйте для локальной разработки и тестов на одной машине; для мультихостового продакшена используйте Docker Swarm, Kubernetes или другой оркестратор.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию