Laravel:Redis php_network_getaddresses: getaddrinfo failed: Name or service not known [tcp://redis:6379]

Laravel:Redis php_network_getaddresses: getaddrinfo failed: Name or service not known [tcp://redis:6379]

Laravel:Redis php_network_getaddresses: getaddrinfo failed: Name or service not known [tcp://redis:6379]

とある現場にて、Laradockを使い開発環境を構築していました。
で、詰まったのがこのRedisのエラーです。
検索すると「M1_MACの事由」の話も存在しており「それか!」とも思ったのですが、何しても治らない。

先に結論を書いてしまうと次の通り。

実行コマンドに Redis を入れてなかった

なんてつまらないところで時間を取られていたのだと落ち込みますね、こういうの。

そもそものLaradockというDocker構成について

Laradockって便利です。
Laravelで欲しいだろう構成 [ mysql/nginx /apache] が最初っから入っています。
aws-eb-cliのDockerまで用意されているんだから至れり尽くせりです。
が、いろんなものが入っているので「何を使っているか」しっかり把握していないと怖い存在でもあります。

例えば、似た構成のDockerを組んでも予想していないモノが動いていて『本番環境に移すとエラー』なんてこともあり得ます。で、そうならない為にDocker起動時に【起動するコンテナ】を指定するということをよくやります。で、その際にはまた至れり尽くせりで関連するコンテナを立ち上げてくれるのであまり頭を悩ませずにすみます。

今回の問題点

こんなコマンドで実行しました。
M1Macで利用するDocker Desk Topですが、コマンドがdocker-composeじゃないみたいです。
※docker-composeでも動きますが、感覚的に処理が遅いように感じます。

そして出てきたエラーがタイトルのエラー。

これですが、コンテナ起動コマンドを次のようにする事で解決となりました。

はい、最後にredisを追加しただけです。

要はね、勝手に立ち上がってくれてると思ってメインなコンテナだけ立ち上げたらredisコンテナがないから【そんなサービスしらね】となってたと言うね。解決すると当たり前の話なんだけど、悩んでる時はこう言うのに気づかないんだよね。

参考サイト

「起動してないだけ」と言う原因ではなくお悩みの場合は下記サイトが参考になります。

まとめ

たかだかこれだけの問題に丸 1日を要した事は案件先には内緒です。
流石にコレは不味いと思い、色々つけて日々の報告いたしました。
laradlckのように色々入ってるパッケージを利用する際は気をつけましょう。

自戒の念を込めて。