Пара советов:
1. Подумайте об отказе от Apache - он в 2018 году ничего вам не даёт. Возможно, у вас завязаны на него какие-то правила роутинга - попробуйте перевести их на nginx
2. Не запускайте всё в одном контейнере: сделайте по контейнеру на процесс (отдельно на PHP, отдельно nginx) . Это даст вам возможность использовать стандартные имаджи. Если уж всё-таки оставите апач, тогда у вас будет контейнер с Apache+PHP, так как скорее всего вы используете модуль врача, но повторюсь - постарайтесь от апача отказаться.
3. Постарайтесь отказаться от волумов в продакшен для кода. Собирайте свой имадж на базе стандартного с добавлением в него вашего кода на этапе сборки. Посмотрите про это статьи. Так у вас будет возможность деплоить контейнер целиком, а не подкладывать ему папку с кодом. Это сделает систему стабильнее и переносимей.
4. Вам не нужен MySql в контейнере: во-первых это оверхед иметь отдельный инстанс MySql на каждый сайт. Во-вторых, вам нужно обеспечить персистанс данных, что означает использование volume. Это сложнее и имеет свои недостатки: медленнее и т.д. Запустите MySql на отдельном сервере или даже на том же, где докер, но не в контейнере - сэкономите ресурсы и нервы. Когда разберётесь, посмотрите на докеризацию базы ещё раз.