Докеризация крупного проекта (2)
Общий ход решения задачи.
1. Нарисовать все отдельные проекты на листке и раздать им фиксированные IP адреса. Для наглядности.
2. Поместить в единую сеть. Найти как в докере задать сеть с такими параметрами.
3. Настроить приложения, чтобы они умели обрабатывать запросы, которые идут к ним через именованные адреса (типа
vasya1.dev)
4. Настроить в docker compose там где надо extra_hosts. Прописать там нужные именованные адреса и связать их с нужными приложениями внутри сети.
5. Да, блин. Придется прописать руками нужные адреса в хозяйском
/etc/hosts. Эту хрень кажется не автоматизируешь.
Что получится.
App 1 дает запрос на
App 2 в браузере. Резолвится все через хозяйский
/etc/hosts.
App 2 дает ответ
App 1 и
App 1 уже подает закрытый запрос на
App 2.
Тут уже работает сетевой уровень в докере, хотя все участники те же. Тут уже сработают
/etc/hosts контейнеров, которые мы настроили через
extra_hosts.
Ну и там оно начнет само плясать. План надежный. Как швейцарские часы.