Докер: Как я могу получить доступ к общедоступному IP-адресу моего сервера из контейнера? - PullRequest
1 голос
/ 18 июня 2019

Я запускаю различные приложения в качестве док-контейнеров на сервере Linux.Я могу получить доступ к Docker-контейнерам просто отлично, используя SSL.Используемый мной обратный прокси-сервер traefik настроен на использование подкаталогов прокси вместо поддоменов.

Это мои контейнеры:

Приложение A - доступно через https://abc.xyz/a

Приложение B - доступно через https://abc.xyz/b

Оба приложения работают, работают и работают правильно при доступе к ним из моего браузера.

Теперь янужно вставить Приложение B в Приложение A .Я знаю, что могу просто использовать внутренний IP-адрес контейнера (поскольку они находятся в одной сети), однако встроенное приложение должно быть доступно для приложения A , а также для локального браузера - поэтому мне нужно использоватьпубличный IP / URL.

Проблема в том, что я просто не могу получить доступ к https://abc.xyz/b из Приложения A .Все приведенные ниже команды выполняются внутри контейнера приложения Application A .

Ping работает:

$ ping abc.xyz
64 bytes from 150.150.150.150: seq=0 ttl=64 time=0.204 ms

Итак, DNS работает.

Однакоwget показывает:

$ wget https://abc.xyz/b
Connecting to abc.xyz (150.150.150.150)
(Nothing happens)

Я просто не могу понять, где проблема.Это в traefik или это ограничение докера?

1 Ответ

0 голосов
/ 19 июня 2019

После еще одного исследования я обнаружил, что это не имеет отношения к docker или traefik вообще. На хосте linux был включен брандмауэр (ufw), который блокировал запросы от док-контейнеров, поскольку он не был настроен должным образом.

Теперь я разрешил доступ из контейнеров, и он работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...