Ошибка SQLSTATE[HY000] [2002] Connection refused может возникать при использовании Laravel и Docker из-за неправильной настройки соединения с базой данных. Обычно это происходит из-за того, что Docker контейнер с базой данных не запущен или не доступен по указанному адресу.
Для исправления ошибки "SQLSTATE[HY000] [2002] Connection refused" при выполнении миграций в базе данных контейнера Docker, когда DB_HOST указан как название сервиса Docker, необходимо убедиться, что контейнер с базой данных запущен и доступен для соединения. Можно проверить это, выполнив команду `docker ps` для просмотра запущенных контейнеров и их статуса.
Кроме того, необходимо убедиться, что настройки подключения к базе данных в файле `.env` Laravel указаны правильно. В частности, DB_HOST должен быть указан как название сервиса Docker контейнера с базой данных, а DB_PORT - порт, на котором слушает база данных внутри Docker контейнера.
Если после проверки контейнер с базой данных запущен и настройки соединения указаны верно, то возможно проблема кроется в сетевых настройках Docker. В этом случае можно попробовать перезапустить контейнер с базой данных или проверить сетевые настройки Docker.
Если все вышеперечисленное не помогло, то можно попробовать подключиться к базе данных внутри Docker контейнера напрямую из командной строки внутри контейнера, чтобы проверить доступность базы данных и настройки соединения.
В целом, для исправления ошибки "SQLSTATE[HY000] [2002] Connection refused" при использовании Laravel и Docker, необходимо тщательно проверить настройки соединения с базой данных, статус контейнера с базой данных и сетевые настройки Docker.