Вы ошибаетесь в дизайне, сопоставление нескольких контейнеров с одним портом ip + просто невозможно.Один порт на одном ip - это всегда одно приложение, которое слушает, независимо от того, является ли оно контейнерным приложением или нет.
Простое доказательство: а кто тогда решит, в какой контейнер отправить запрос?Для всех из них?Тогда кто решит, какой ответ является правильным?Вот для чего нужны ip-адреса и порты, чтобы можно было отправлять запросы конкретным приложениям на конкретных машинах.
Я думаю, вам следует пересмотреть все, что вы делаете, и немного больше изучить сетевые возможности.Есть несколько онлайн-курсов по этому вопросу.(Я не хочу вас обескураживать, просто нацелите вас в правильном направлении)
Простое решение без редизайна вашего приложения - установка обратного прокси вашего приложения (например, nginx).Это ответ на мой риторический вопрос.Обратный прокси-сервер может быть посредником, который может решить, в какое приложение отправить запрос, основываясь на чем-то другом, чем ip / port.Обратный прокси-сервер прослушивает некоторый конкретный порт, а затем по предоставленным вами правилам (например, на основе пути) может прокси-запрос на конкретное приложение / ip / порт и прокси-ответ обратно.
Но обратный прокси в этом случаеэто скорее взлом, чем правильное решение, имейте это в виду.