Отличие Docker от виртуальной машины заключается в уровне виртуализации:
Основные отличия можно свести к следующему:
| Признак | Виртуальная машина | Docker |
|---|---|---|
| Уровень виртуализации | Аппаратное обеспечение | Операционная система (на уровне процесса) |
| Включает | Полную гостевую ОС | Приложение, зависимости, библиотеки |
| Использование ядра | Собственное ядро гостевой ОС | Ядро ОС хоста |
| Размер | Гигабайты | Мегабайты/Сотни мегабайт |
| Время запуска | Минуты | Секунды |
| Изоляция | Полная (на уровне железа) | На уровне процессов и файловой системы |
| Ресурсы | Высокие (ОЗУ, CPU, Диск) | Значительно ниже |
| Пример | VMware, VirtualBox, KVM | Docker, rkt |