как я могу создать хотя бы контейнер docker с тем же открытым портом?

#docker

Вопрос:

Могу ли я иметь по крайней мере два домена на сервере с одинаковыми открытыми портами, чтобы у нас было два отдельных и разных контейнера? Первоначально я хотел бы включить два домена на одном IP-адресе и иметь отдельный контейнер для каждого домена. Предположим, что если мы включим сотни доменов в контейнере с помощью виртуальных хостов, нам понадобится другой контейнер для других доменов на том же IP-адресе. Как включить несколько отдельных контейнеров с одинаковыми 80 и 443 портами?

Комментарии:

1. Один порт на адресе может использоваться не более чем одним приложением в один момент времени. Это отвечает на ваш вопрос?

2. Это возможно, но вам понадобятся 2 сетевых интерфейса, каждый со своим собственным ip-адресом. Это довольно легко организовать в общедоступном облаке, таком как AWS. Имея только один сетевой интерфейс, вам действительно нужен контроллер входа kubernetes, использующий маршрутизацию уровня 7. Но, учитывая заданный вами вопрос, я предполагаю, что для этого потребуется много времени.

3. Основываясь на комментарии @software engineer, вы можете использовать простой контейнер nginx (или любой другой прокси-сервер) для маршрутизации запросов к каждому из ваших контейнеров (тех, которые вы хотите запустить на одном и том же порту) на основе правил уровня 4/7 (т. Е. Если путь /app1-маршрут к порту первого контейнера, и если это /app2-маршрут к другому порту, используемому вторым контейнером. Возможно, это было бы полезно в вашей ситуации?

4. Первоначально я хотел бы включить два домена на одном IP-адресе и иметь отдельный контейнер для каждого домена. Предположим, что если мы включим сотни доменов в контейнере с помощью виртуальных хостов, нам понадобится другой контейнер для других доменов на том же IP-адресе. Как включить несколько отдельных контейнеров с одинаковыми 80 и 443 портами?