Мой вопрос похож на вопрос this, но только с одним доменом.Контейнеры Mulitple Docker на порте 80 с тем же доменом
Возможно ли запускать несколько контейнеров докеров на одном сервере, все они на порту 80, но с разными URL-адресами?
Например:
Внутри все приложения размещены на том же сервере Докер.
172.17.0.1:8080 => app1
172.17.0.2:8080 => app2
172.17.0.3:8080 => app3
Внешне, пользователи будут получать доступ к приложениям по следующим адресам:
www.mydomain.com (app1)
www.mydomain.com/app/app2 (app2)
www.mydomain.com/app/app3 (app3)
Вы можете использовать nginx для установки маршрутизации в разные приложения. Вы можете обратиться к этому, например, о том, как это сделать - http://stackoverflow.com/questions/19108044/nginx-routing-path-to-server – lamirap
Несколько контейнеров ** не могут ** слушать на том же порту. В более общем смысле, единственный процесс может привязываться к сокету (ip: порт). Для вашей потребности требуется обратный прокси (например, nginx). – Auzias
@Auzias Они могут иметь каждое собственное пространство имен, таким образом, они могут выполнять точно такие же операции. Однако они не могут быть привязаны к одному и тому же порту на главной машине, поскольку один и тот же порт можно использовать только один раз. Решением здесь является привязка каждого контейнера к другому порту на главной машине и использование i.e nginx для выполнения маршрутизации на основе URL-адреса – buddy123