Невозможно использовать поддомен NGINX внутри контейнера Docker - PullRequest
0 голосов
/ 31 мая 2018

Этот вопрос довольно глуп, он касается использования имен сервисов Docker в качестве имен хостов, поэтому вот контекст:

Я использую следующие контейнеры NGINX: base, php-fpm и nginx.У меня также есть проект Laravel, который находится в корневом проекте, в папке / api.Я также запускаю haproxy на порту 5000 для балансировки нагрузки запросов через контейнеры php-fpm.

Базовый контейнер содержит среду linux, из которой я могу запускать команды для phpunit, npm и буквально иметь доступ к файлам других контейнеров.которые отправляются с использованием тома из docker-compose.

php-fpm содержит среду для запуска PHP.

nginx содержит сервер NGINX, сконфигурированный для хранения двух веб-сайтов:корневой сайт (localhost) и поддомен api (api.localhost).API.поддомен указывает на папку / api в корневом проекте, а корневой веб-сайт (localhost) указывает на папку / frontend в корневом проекте.

Проблема в том, что в контейнере базовой службы я не могу запустить curlКоманда для доступа к веб-сайту api.localhost.Я попытался использовать curl для доступа к nginx, используя имя службы в docker-compose (которое является nginx):

$ curl http://nginx

, и оно отлично работает, но папка внешнего интерфейсаответы с кодом из папки веб-интерфейса.Я понятия не имею, как использовать имя службы для доступа к api.localhost в контейнере.Я пробовал

$ curl http://api.nginx $ curl http://api.localhost

Даже localhost не отвечает на команду curl:

$ curl http://localhost

Есть ли способ получить доступ к поддомену из контейнера NGINX, используя имя службы в качестве имени хоста?

1 Ответ

0 голосов
/ 02 июня 2018

Я обнаружил, что субдомены не работают должным образом, используя NGINX и имя службы Docker в качестве имени хоста.

Вместо этого мне пришлось изменить структуру моего проекта, чтобы я не использовал субдомены при попыткеполучить доступ к URL-адресам, используя имена сервисов в качестве имен хостов.

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