Решение в лоб - завести в гите ветки на каждую платформу (release_vk, release_..), в CI будет собираться образ сразу с исходным кодом, помечаться тегом платформы, деплоится по тегу на сервера(latest_vk, latest_...).
2) Разные версии приложений запускаются на одних и тех-же серверах, т.е. запросы к api идут dns-балансировкой, стоит nginx на фронте, который раскидывает запросы уже на остальные контейнеры, фактически на другой nginx, который уже рулит контейнером с php.
Схема кажется немного избыточна nginx->nginx->php, в итоге на сервере дофигища разных процессов, особенно nginx.
Общий вопрос - как при таких бизнес-процессах можно "оптимизировать" схему работы. Кажется, что должно быть какое-то более красивое решение для всего.
Видел такие же советы, но если будете делать так же - на свой страх и риск.
Системный вариант: docker image prune