Я не особо силен в докерах. Однако не особо понимаю чем это отличается от обычного масштабирования?
БД в 1 докер. Пусть живет пока молода без шардинга и пластической хирургии.
Если начал загибаться php - докер с nginx балансировщиком и 2-3 докера с php app.
Далее встает вопрос как делать code deploy на 3 докера php app. Тут вероятно тот же GlusterFS.
В общем как то так
https://www.digitalocean.com/community/tutorials/a...
А на чем будут крутиться службы - KVM, OpenVZ, Docker или вообще Vagrant - вероятно не так уж важно.