Ответ
Docker — это платформа для контейнеризации приложений, которая упаковывает код, зависимости и среду выполнения в переносимые образы.
Основные применения:
- Изоляция зависимостей: Каждое приложение работает в своём контейнере со своими библиотеками.
- Воспроизводимость окружений: Одинаковый образ гарантирует одинаковое поведение на всех этапах (dev, staging, prod).
- Масштабирование и оркестрация: Контейнеры легко масштабируются и управляются системами вроде Kubernetes.
Пример Dockerfile для веб-приложения:
FROM nginx:alpine
COPY ./src /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
Ключевые концепции:
- Образ (Image): Шаблон для создания контейнеров.
- Контейнер (Container): Запущенный экземпляр образа.
- Том (Volume): Механизм для сохранения данных вне контейнера.
- Docker Compose: Инструмент для определения и запуска многоконтейнерных приложений (например, веб-сервер + база данных).