Ну смотрите - вам что нужно?
Вам нужен сервер, на котором вы будете запускать код, и работать он должен на вашем компьютере.
Разрабатываете вы как я понимаю под winodws?
Раньше для этих целей запускали веб сервер под windows. Это добавляло целый пласт проблем - приходилось запускать и отлаживать код, в системе которая коренным образом отличается от боевого сервера, в результате излишние телодвижения при работе, и куча проблем при переносе на боевой сервер.
Сейчас с развитием виртуализации, гораздо проще и удобнее для этих целей запустить виртуальную машину с линуксом, и уж на ней веб сервер.
Поэтому все что вам нужно - это виртуальная машина с линуксом и веб-сервером.
И все.
Получается вам не нужны ни Docker, ни Vagrant.
Однако есть небольшое но-
Проект у вас будет не один, и каждый проект у заказчика будет работать в разном окружении.
А разрабатывать лучше всего именно в том окружении, что и у заказчика, чтобы не было проблем с переносом на боевой сервер.
Поэтому вам по хорошему нужно либо создавать под каждый проект отдельную виртуалку, и тут в некотором роде может помочь Vagrant, либо настраивать на одном виртуальном сервере окружение с помощью Docker.
В общем - вам нужна виртуальная машина с веб сервером, и для удобства можно использовать Docker.