Первая ситуация:
Я запускаю команду php artisan migrate
с терминала в проекте laravel, и она прекрасно работает, обновляя базу данных mysql на 127.0.0.1:3306
. Это означает, что соединение php-mysql было в порядке.
Вторая ситуация:
Запустив проект в док-контейнере, я не смог установить базу данных на 127.0.0.1
поскольку в контейнере Docker совпадает с самим контейнером. Я читал, что докер имеет мост для соединения с хостом (в случае Linux 172.17.0.1
). Поэтому я изменил настройки подключения mysql на 172.17.0.1:3306
. И я получаю:
Пакеты PDOException вышли из строя. Ожидается 0 получено 1. Размер пакета = 69
и
PDOException SQLSTATE [HY000] [2006] Сервер MySQL удален.
Вопрос:
Почему он работает с 127.0.0.1
, а не изнутри контейнера?