Сначало объясню на конкретном примере, а потом приведу архитектурное объяснение:
------------
Например, вы разрабатываете некоторый гейт-аггрегатор четырех систем. Одна из них на
WordPress, другая на
Drupal третья самописная на
Django и четветрая: реалтайм чат на M
eteor.js и Mongo.
---------
Проблема заключается еще и в том, что WordPress и Drupal требуют разных настроек PHP(или вообще разных их версий). А так-же разных настроек Apache/Nginx.
---------
Вам также нужно легко переключатся между системами базами, и желательно, каждую из них держать в отдельной папке в сабфолдере проекта(и без абсолютных линков, чтобы можно было легко заменять подсистемы в других проектах)
--------
Чтобы крыша не потекла не у вас ни у компьютера, ни у человека который будет это деплоить нужна система которая позволит:
- Инкапсулировать кишки каждого фреймворка/cms. Вот это не нормально.
Это клиника. До создания докера люди этим честно занимались(часов 5 может уйти)
- Иметь стандартизированный интерфейс, котрый будет
- достаточно абстрактным чтобы уйти от конкретных деталей каждой платформы
- достаточно конкретным, чтобы абстракции не текли, т.е. не приходилось городить костыли чтобы обойти неуместную абстракцию.
- Иметь возможность композиции различных компонентов системы
=========
Штука в том, что у Докера это получилось. Это и вкусная система отзеркаливания системных портов/нужных папок, конфигурирование через переменные среды.
По факту же, контейнер ставится за пять минут(4 из которых скачивается) и тут же на месте конфигурируется в понятном и удобном интерфейсе.
==========
PS. Какой гений придумал html разметку в этом редакторе использовать. Это же неадекват, почему не markdown например.