Виртуалка - это дополнительный слой, который будет жрать ресурсы. Если в контейнерах, где хост это ваш мак, работает медленно, то, видимо, ресурсов самого ноута не хватает.
1. Докер прокинул порты на виртуалку? А виртуалка прокинула сеть/порты на мак?
2. Что значит прошлые данные контейнера?
3. Изменения каких файлов?
4. Мои кейсы:
мак, виртуалки через vagrant+vbox, внутри виртуалок всё раскатывается через ansible - использую для тестов
мак, на нём докер, далее docker-compose up -d или docker run -d - использую для долгоиграющих сервисов