Почему в laravel нет доступа к БД (SQLSTATE[HY000] [2002] Connection refused)?

Здравствуйте!
Поднимаю php и mysql в docker (у меня винда), использую вот это https://github.com/drandin/docker-php-workspace
Далее:
1. Устанавливаю laravel
2. Вношу в файл .env необходимые данные для доступа к БД

Скриншот фрагмента кода удалён модератором.

3. Выполняю миграции "php artisan migrate" - все нормально, таблицы в БД появились
f7b5605409.jpg
4. Устанавливаю пакет breeze
5. Перехожу на маршрут регистрации, заполняю форму и отправляю ее.
6. Получаю ошибку "SQLSTATE[HY000] [2002] Connection refused (SQL: select count(*) as aggregate from `users` where `email` = qqq1@qqq.qq)"
7. Не понимаю что происходит, ведь миграции прошли норм. Расшарил ошибку тут https://flareapp.io/share/353Gzeo5#F67
8. Есть подозрение что это как то связано с правами доступа, но я не силен в системном администрировании linux
9. Иду на тостер, пишу это сообщение.

Может у кого-нибудь есть мысли что пошло не так?
  • Вопрос задан
  • 862 просмотра
Решения вопроса 1
otrubin
@otrubin Автор вопроса
Причину проблемы подсказали в комментариях.
Я невнимательно прочел документацию.
Дело в том, что я в файле .env в качестве хоста и порта использовал:
DB_HOST=127.0.0.1
DB_PORT=4307

Но это для доступа с хост-машины.

Для доступа из другого контейнера надо так:
DB_HOST=mysql-5.7
DB_PORT=3306

Спасибо Дмитрий
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы