vagrant - это wrapper к виртуалкам, докерам и прочему, он нужен только если у тебя реально сложная архитектура всего, там можно написать скрипты на Ruby со сложной логикой, которая будет что-то делать, нужное тебе, сети какие-нибудь настраивать и прочее, если тебе это не нужно - используй обычный docker-compose (только при разработке, разумеется, я не про деплой)
Вагрант и докер в деплой на боевой оба не вариант? Т.е. если будут серьёзные изменения, затрагивающие сам питон, asgi-сервер и т.д, то их заново всё перенастраивать?