Docker — платформа для сборки, упаковки и запуска приложений в контейнерах. Контейнер изолирует приложение и его зависимости, но обычно использует ядро операционной системы хоста; виртуальная машина эмулирует отдельный компьютер и запускает собственную гостевую ОС.
Что такое Docker? Чем контейнер отличается от виртуальной машины?
Подробный ответ
Что такое Docker
Docker — это платформа контейнеризации. Она позволяет упаковать приложение, его зависимости, настройки и окружение в образ, а затем запускать этот образ одинаково на локальном компьютере, тестовом сервере и production-инфраструктуре.
Что такое контейнер
Контейнер — это изолированный процесс, который запускается из Docker image. У него есть собственная файловая система, сеть и набор процессов, но он использует ядро ОС хоста.
Контейнер и виртуальная машина
контейнер обычно разделяет ядро ОС с хостом и другими контейнерами;
виртуальная машина запускает собственную гостевую ОС поверх гипервизора;
контейнеры обычно запускаются быстрее и требуют меньше ресурсов;
виртуальные машины дают более сильную изоляцию на уровне операционной системы.
Простая аналогия
Виртуальная машина похожа на отдельный дом со своей инфраструктурой. Контейнер больше похож на отдельную квартиру в одном здании: пространство изолировано, но общая базовая инфраструктура используется совместно.
Зачем нужен Docker
Docker уменьшает проблему «у меня на компьютере работает». Разработчики и сервер запускают одну и ту же версию образа, поэтому окружение становится более предсказуемым и воспроизводимым.
Как ответить на собеседовании
Docker — это платформа для запуска приложений в контейнерах. Контейнер изолирует приложение и его зависимости, но использует ядро ОС хоста, поэтому он легче и быстрее виртуальной машины. Виртуальная машина, в отличие от контейнера, запускает полноценную гостевую операционную систему.
Оцени свой прогресс