@pechorin docker-compose использую, со своими Dockerfile инструкциями для установки всего необходимого (меньше Run, больше минимализма).
Локально всё работает, а вот с деплоем - master ветка и обязательно тегирование версии и в git и в composer файле. Без этого не рассматриваю "автоматическое обновление до последней версии".
@pechorin хотя, можно еще будет продумать схему, при которой от master ветки необходимо будет создать стабильную версию release и только её разворачивать (как вариант). Так и master можно без труда обновлять для каких-то "бета версий прода"