Gymterview
junior

Что такое Docker?

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

Аналогия из жизни: Docker — это как морской контейнер для перевозки грузов. Не важно, что внутри — мебель, электроника или продукты — контейнер стандартизирован, его можно погрузить на любой корабль, поезд или грузовик. Так и Docker-контейнер: внутри может быть любое приложение, но он запустится на любой машине с установленным Docker.

Docker позволяет упаковать приложение вместе со всем его окружением и зависимостями в стандартизированный блок (контейнер), который можно запустить на любой машине с установленным Docker. Это решает классическую проблему “у меня на машине работает, а на сервере нет”.

Зачем нужен Docker

  • Единообразие окружения — разработка, тестирование и production используют одинаковое окружение
  • Изоляция — каждое приложение работает в своём контейнере, не мешая другим
  • Быстрое развёртывание — контейнеры запускаются за секунды, в отличие от виртуальных машин
  • Масштабирование — легко запустить несколько экземпляров приложения
  • Воспроизводимость — Dockerfile описывает среду декларативно, что гарантирует одинаковый результат при сборке
  • Упрощение CI/CD — контейнеры прекрасно вписываются в пайплайны непрерывной интеграции и доставки

На собеседовании: достаточно дать определение и перечислить 3-4 преимущества. Покажите, что понимаете главную идею: Docker решает проблему “works on my machine” за счёт упаковки приложения вместе с окружением. Часто спрашивают следом про отличие от виртуализации.