Что такое Docker?

Ответ

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-практике, упрощая разработку, тестирование и деплоймент приложений.