Docker - виртуализация на уровне ОС, виртуальная машина - виртуализация на аппаратном уровне.
Docker не работает в облаке, но вы можете работать в любом месте с установленным Docker, будь то локальный локальный компьютер в облаке.
В настоящее время все облачные платформы запускают контейнеры внутри виртуальной машины. Например, если вы устанавливаете Docker в AWS EC2 экземпляр, вы фактически запускаете контейнеры внутри виртуальной машины.
Мы сказали, что виртуальная машина использовала меньше ресурсов, поскольку образ виртуальной машины включает всю гостевую операционную систему, но Docker полагается только на на хосте ядро. Время запуска контейнера намного быстрее, чем у виртуальной машины. Вы можете упаковать больше контейнеров внутри ВМ, следовательно, полностью использовать ресурс, а не пустить неиспользуемый ресурс в ВМ.