А щас проект подворачивается сайтика с выской нагрузкой. Вот думаю намутить все на докере.
Не связанные вещи - Docker и сайты с высокой нагрузкой. Они - параллельны.
Для высокой нагрузки используются кластера серверов, а в этих кластерах ПО зачастую делится на мелкие части - микросервисы. Для управления кластерами с микросервисами используют ПО для управления кластерами.
Такое ПО: из универсального, но громоздкого рекомендую Kubernetes, из попроще, но достаточно функционально рекомендую Flynn.io. Для разработки для имитации поведения в кластере годится docker-compose, но использовать docker-compose в production для реализации кластера - это быть самому себе злым Буратино.
В этом ПО по управлению кластерами
для упрощения разработки/эксплуатации, для гарантированности идентичной среды исполнения и используется на одном из низких уровне - Docker, как правило.
То есть Docker сам по себе не решает проблему высоконагруженных сайтов.
Он - всего лишь один из базовых кирпичиков изоляции. Изоляция != высокие нагрузки.
- Более того - самого Docker не достаточно для реализации системы для работы под высокими нагрузки.
- И напротив - система для работы под высокими нагрузками может быть без Docker.
Помнится раньше во freebsd клетки были, уж очень нравилось мне :).
Они и сейчас никуда не делись. И развиваются.
===============================
Делать всю систему вручную на Docker - это напрасно.
Организовать отказоустойчивый распределенный кластер масштабирующийся по большому количеству серверов, следить за здоровьем этого кластера, перезапускать после сбоев и т.п. - это огромный труд.
На этой ниве подвязались
целые специализированные конторы по созданию/обслуживанию ПО для этих кластеров. И они пилят свои системы годами.
На коленке - не замутить полноценную систему.
Просто взять это ПО и работать с ним.
И да, оно будет на базе Docker, но это будет далеко не голый Docker.
Для начинающих рекомендую довольно простую в понимании (типа Heroku), но при этом мощную систему, позволяющую сделать полноценный кластер - Flynn.io.
Полагаю, большая часть ваших вопросов уже описана в документации к этой системе.
А без кластера - никакая это не высоконагруженная система. Да и Docker там нужен постольку-поскольку. Если у вас один-два сервера, то вполне можно обойтись и Vagrant на машине разработчика для имитации среды исполнения сервера.