Ответы:
Docker - это инструмент виртуализации приложений. VirtualBox - это инструмент для виртуальных машин .
VB моделирует всю аппаратную среду, в то время как Docker изолирует чтение / запись вложенного приложения от остальной части ОС.
Затраты всей виртуальной машины могут быть значительными, в то время как приложениям Docker не нужно реплицировать все ОС, поэтому теоретически вы сможете извлечь больше пользы из среды своего хоста.
С другой стороны, может быть очень сложно заставить приложения хорошо играть вместе с Docker из-за изоляции приложений.
Кроме того, Docker еще не работает в Windows (хотя это должно произойти в ближайшее время), поэтому существуют также ограничения платформы.