O Docker seria muito opaco para uma tarefa como essa. O VirtualBox é perfeitamente adequado para isso. Na verdade, eu recomendaria usar o Vagrant com o VirtualBox, já que o combo permite que você construa, destrua, reconstrua e redestore de forma razoavelmente interminável de uma forma que seja perfeitamente adequado para tarefas como esta.