Ответ
Docker — это платформа для контейнеризации, позволяющая упаковывать приложения со всеми их зависимостями в изолированные среды, называемые контейнерами. Это обеспечивает единообразную работу приложения в любой среде, от разработки до продакшена.
Основные преимущества:
- Изоляция: Приложения работают в изолированных средах, предотвращая конфликты зависимостей.
- Переносимость: Контейнеры запускаются одинаково на любой машине с Docker, обеспечивая принцип "работает у меня — работает везде".
- Эффективность: Легче и быстрее виртуальных машин, используют ресурсы хоста более оптимально.
- Масштабируемость: Упрощает развертывание и масштабирование множества экземпляров приложений.
Пример Dockerfile:
FROM python:3.9-slim-buster
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
CMD ["python", "app.py"]
Основные команды Docker CLI:
docker build -t myapp:1.0 . # Собрать образ с тегом
docker run -p 80:8000 myapp:1.0 # Запустить контейнер, мапируя порты
docker ps # Показать работающие контейнеры
docker stop <container_id> # Остановить контейнер
docker rmi myapp:1.0 # Удалить образ
Docker стал де-факто стандартом в современной DevOps-практике, упрощая разработку, тестирование и деплоймент приложений.