(docker)(Laravel)マイグレーション時、php_network_getaddresses: getaddrinfo failed: nodename nor servname provided, or not knownのエラー

php-migration-error-php-network-getaddresses

 

dockerで構築したlaravel環境で、マイグレーションエラーしたら下記のようなエラー

php_network_getaddresses: getaddrinfo failed: nodename nor servname provided, or not known

 

「php_network_getaddresses: getaddrinfo failed」から始まるのは、
ホストの設定や名前解決でエラーが発生していることを示すエラーらしい。

 

原因:phpコンテナ内でマイグレーションしていなかった

 

上記エラーが起きていた原因は、マイグレーションをコンテナ内で実行していなかったから

自分がマイグレーションを実行していたのは、ローカルの環境だった。

 

解決策:コンテナ内でマイグレーションする

 

下記コマンドで実行

#phpコンテナに入る
docker-compose exec php bash

#laravelアプリケーションのディレクトリへ移動
cd laravelアプリケーションのディレクトリ

# マイグレーション実行
php artisan migration

 

これで無事マイグレーションできるはず

 

それでもマイグレーションできない場合

 

上記の対処方法でマイグレーションできない場合は下記のパターンに当てはまっていないか要確認。

 

①laravelからのDB接続設定が誤っていないか

そもそも、laravelからコンテナのDB(MySQL)への接続設定が間違っている可能性がある。

laravelがDBへの接続をするための設定を書くのは/.envファイル。

DB_HOSTには、docker-composeに記載してある、mysqlのサービス名を記載する。
DB_DATABASEには、接続したいDBの名前を記載する。

 

②その他

または筆者の場合、下記のようなエラーも出たので、参考に。
ドライバーが存在しない時に起きるエラー。

 

 

記事が気に入った方はシェアをお願いします!

コメントを残す

メールアドレスが公開されることはありません。