Пусть контейнеры работают от разных пользователей, пишет-то в каталог только кто-то один (надеюсь). А остальным достаточно на чтение доступ дать. php-fpm и php-cli практически наверняка можно объединить в один сервис.
P.S. не рекомендую использовать образы без тэга или latest - лучше обозначайте конкретную версию.
В одном контейнере, конечно же, это настраивать не нужно. А вот сделать docker-compose с 3 сервисами - nginx, php-fpm, mysql, вполне реально. Берёте нужные образы, настраиваете связку, пишете скрипты для заполнения БД и отдачи строчек.
Если я вижу где-то большое количество dst-портов, это с высокой вероятностью кривота. Что будете делать, когда для разных приложений захочется по-разному обрабатывать запросы?
Я правильно понимаю, что вы на каждый запрос поднимаете новый контейнер с инициализацией кластера? Напрасно.
Я бы смотрел в сторону "один пользователь (или даже запрос) - одна БД внутри постоянно работающей толстой СУБД". Ну и БД периодически ротировал с очисткой.
Гигабит на обоих концах не означает, что между точками тоже будет гигабит, тем более с инкапсуляцией - гуглите "зависимость пропускной способности от RTT".
Iperf между Москвой и хостингом гигабит выдаёт? В сколько потоков?