Docker compose - это просто утилита для запуска нескольких Docker-контейнеров. Таким образом, почти все, что относится к запуску контейнера с использованием docker run
, одинаково для контейнеров, начинающихся с docker-compose
.
В частности, поскольку вы находитесь на MAC, внутри контейнера есть специальное DNS-имя, которое разрешено для хост-машины.
В зависимости от версии докера, имеющейся у вас DNS может немного отличаться.
Для Docker 18.03 и выше вы можете использовать host.docker.internal
Для и выше Docker 17.06 используйте docker.for.mac.host.internal
ниже 17,06 docker.for.mac.localhost
Таким образом, вы можете подключиться к веб-приложению на машине, используя <dns-name>:7777
UPDATE:
Чтобы избежать жесткого кодирования значения в коде, передайте это DNS-имя в качестве переменной env контейнеру.
environment:
REDIS_HOST: redis
WEB_APP: host.docker.internal
В приложении извлеките переменную окружения WEB_APP
и используйте ее для подключения