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