Dockerでネットワークエラーにはまる




この記事は最終更新日から2年以上経過しています。

原因は大したことなかったのですが、ものすごくはまってしまったことがあったので書いておきます。

DockerでLaravelの開発環境の構築は済んでおり、そこに管理機能のパッケージlaravel-adminをインストールしようとしたことから始まりました。
まずデータベースの接続確認をしようとしてなんとなく以下のコマンドで確認しました。

php artisan migrate:status

データベースに接続するので接続確認にはなるのかなと思って気軽にコマンドを叩いていました。
しかし、なんだかエラーがでちゃいます。

Illuminate\Database\QueryException  : SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: nodename nor servname provided, or not known (SQL: select * from information_schema.tables where table_schema = dev_testlaravel and table_name = migrations)

dockerの設定やらLaravelの設定やら色々チェックしましたが何も変わらず。
しかも今まで動いていた他のDocker環境でもphp artisan migrate:statusが成功しなくなりました。
しかし、ブラウザからphpMyAdmin経由でDBにはアクセスできるのでwebサーバーコンテナとDBサーバーコンテナで何か問題が発生しているの赤と思ったのですが、、、ふとしょうもないことに気づいてしましました。

Mac上でphp artisanコマンドを叩いてた。。

php artisanコマンドはDockerコンテナ内で実行しなくてはいけないのに、Dockerに入らずにMac上で実行していたのが原因でした。お恥ずかしい。。
Docker内で実行したら全く問題なく実行できました。
今度からこのエラーがでたら真っ先にどこで実行したか確認しようということを忘れないようにするための反省投稿でした。