Контейнеры угловых приложений Docker, размещенные на контейнере Nginx
План А
- Создание образа докера для каждого приложения Angular
- Использование образа докера независимо, вероятно, в отдельном контейнере для каждого углового приложения
- Один контейнер Nginx, который будет содержать все подключаемые контейнеры
Итак, шаги 1 и 2 и прямолинейны, однако, часть сделать контейнеры подключаемыми к Nginx мне не очень понятна. Мой основной план - сделать каждое приложение отдельным сервисом, чтобы при внесении изменений я мог перезапустить целевой сервис, а не всю платформу.
Есть идеи, как сделать контейнеры подключаемыми или какой-то другой подход?
План б
Однако, чтобы все приложения были размещены в отдельном томе, например vol-ngapp1,vol-ngapp2, подключенном к контейнеру Nginx, как бы мне выполнить процедуру обновления таким образом? - Нужно ли перезапустить весь контейнер или как?
Нужен план C:) или что-то до Z:D.
Благодарю.
1 ответ
План А '
- Создайте образ докера для каждого приложения Angular, обслуживаемого собственным nginx
- Запустите их все в одной сети
- В той же сети запустите контейнер nginx
N
в качестве обратного прокси - Чтобы обновить, после запуска новых сервисов, просто отредактируйте файл conf в
N
и горячая перезагрузка
В этом решении используется более одного nginx, но я думаю, что это самое подключаемое и масштабируемое решение.
На шаге 3 nginx может быть заменен другими обратными прокси-серверами (например, traefik) с улучшенной возможностью обнаружения служб, поэтому вам не нужно редактировать файл конфигурации вручную.
План B не такой подключаемый, как A', потому что если у вас есть новое приложение в сети, вы не можете подключить том к работающему контейнеру без простоя. Но вам будет хорошо, если вы просто захотите обновить существующий проект (просто отредактируйте громкость).