
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)
・
・
・
これで問題なくテーブルが作成できました。