Laravel + React + Nginx + Postgresql
React и Laravel отдельные приложения поэтому использую Nginx в докере что бы их связать и поднять по своим доменам. Nginx настроил, но столкнулся с проблемой подключения Laravel к БД, пишет вот такое (Postgresql внешний не контейнер докера)
connection to server at "127.0.0.1", port 5432 failed: Connection refused Is the server running on that host and accepting TCP/IP connections?
Как я понял нужно порт прокинуть из контейнера во внешний мир что бы контейнер увидел внешнюю БД. Как это сделать? Или вообще в другом проблема?
P.S. если Laravel поднимать через докер на своем сервере не используя nginx то подключение к внешней БД идет нормально. Запутался на какой стороне проблема контейнера Nginx? И как сделать что бы приложение Laravel в докере увидело внешнюю БД?
ошибку прочитай еще раз
в host укажи Адрес твоей внешней БД
внешняя Бд крутиться на основной ОС, т.е. на localhost, внешняя я называл в смысле внешняя за пределами докера
не надо прокидывать порт. прокинь сокет в /run/postgresql в виде вольюма ro, и к нему присоединяйся
как это сделать и где?
в postgresql.conf — unix_socket_directories потом запускаешь веб контейнер с -v /run/postgresql:/run/postgresql:ro в .env — DB_HOST=/run/postgresql
я понял идею, большое спасибо, надо такое попробовать
Обсуждают сегодня