オタブロ > IT知識 > PHP > 【Laravel】docker環境で「SQLSTATE[HY000] [2002] Connection refused」が出た時

【Laravel】docker環境で「SQLSTATE[HY000] [2002] Connection refused」が出た時

IT知識

dockercomposeで作ったlaravel環境で「php artisan migrate」を実行したら「SQLSTATE[HY000] [2002] Connection refused」が出力されました。

o# php artisan migrate

   Illuminate\Database\QueryException  : SQLSTATE[HY000] [2002] Connection refused (SQL: s
elect * from information_schema.tables where table_schema = laravel_db and table_name = mi
grations and table_type = 'BASE TABLE')
・
・
・
スポンサーリンク

環境

docker

docker -v
Docker version 20.10.10, build b485636

Laravel

# php artisan --version
Laravel Framework 6.20.43

原因

DBのコンテナは「db」というホスト名で作成していましたが「.env」の「DB_HOST」を以下の様に設定していたのが原因かと思われます。

DB_HOST=127.0.0.1:23306

対処法

「.env」の「DB_HOST」 をDBコンテナのホスト名に変更したら解決しました。

DB_HOST=db

php artisan migrate実行

# php artisan migrate
Migration table created successfully.
Migrating: 2014_10_12_000000_create_users_table
Migrated:  2014_10_12_000000_create_users_table (0.52 seconds)
Migrating: 2014_10_12_100000_create_password_resets_table
Migrated:  2014_10_12_100000_create_password_resets_table (0.96 seconds)
・
・
・

これで問題なくテーブルが作成できました。

タイトルとURLをコピーしました