Этот вопрос довольно глуп, он касается использования имен сервисов 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, используя имя службы в качестве имени хоста?