質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

ネットワーク

ネットワークとは、複数のコンピューター間を接続する技術です。インターネットが最も主流なネットワークの形態で、TCP/IP・HTTP・DNSなどの様々なプロトコルや、ルータやサーバーなどの様々な機器の上に成り立っています。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Q&A

解決済

2回答

4324閲覧

WEBアプリからMySQLコンテナに接続すると"php_network_getaddresses: getaddrinfo failed: Name does not resolve"

donut4

総合スコア148

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

ネットワーク

ネットワークとは、複数のコンピューター間を接続する技術です。インターネットが最も主流なネットワークの形態で、TCP/IP・HTTP・DNSなどの様々なプロトコルや、ルータやサーバーなどの様々な機器の上に成り立っています。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

0グッド

0クリップ

投稿2020/06/24 09:16

#事象
laravelWEBアプリ(laraveladminlteのauth画面)からdockerのMySQLコンテナに接続すると以下エラーが発生

SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Name does not resolve (SQL: select count(*) as aggregate from `users` where `email` = name@name.com)

#開発環境
docker-compose.yml

db: image: mysql:8.0 volumes: - db-store:/var/lib/mysql - ./logs:/var/log/mysql - ./docker/mysql/my.cnf:/etc/mysql/conf.d/my.cnf environment: - MYSQL_DATABASE=${DB_NAME} #homestead - MYSQL_USER=${DB_USER}#homestead - MYSQL_PASSWORD=${DB_PASS}#secret - MYSQL_ROOT_PASSWORD=${DB_PASS} - TZ=${TZ} ports: - 3306:3306 networks: - app-tier

laravel .env

DB_CONNECTION=mysql DB_HOST=db #ここはdocker-compose.yml合わせ利必要がある? DB_PORT=3306 DB_DATABASE=homestead DB_USERNAME=homestead DB_PASSWORD=secret

database.php

'mysql' => [ 'driver' => 'mysql', 'host' => env('DB_HOST','db'), 'port' => env('DB_PORT', '3306'), 'database' => env( 'DB_DATABASE', 'homestead' ), 'username' => env('DB_USERNAME', 'homestead'), 'password' => env('DB_PASSWORD', 'secret'), 'unix_socket' => env('DB_SOCKET', ''), 'charset' => 'utf8mb4', 'collation' => 'utf8mb4_unicode_ci', 'prefix' => '', 'prefix_indexes' => true, 'strict' => true, 'engine' => null, ],

laravel:6.2
PHP:7.2
LaravelUI:1
mysql:8.0

お詳しい方がいましたらよろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

docker-compose.yml の全体像が見えないのでなんとも言えないですが...

phpのコンテナ側は同じネットワークに所属していますか?
phpコマンドはコンテナ内で実行されていますか?

この辺りが疑問点です。

投稿2020/06/29 08:28

ucan-lab

総合スコア888

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

donut4

2020/06/29 14:46 編集

回答有り難うございます。 docker-compose.ymlのアプリ、WEBサーバーにも同じ "networks:" を設定してあげたら無事解決しました!!ネットワークに問題があることは盲点でした。 実はDocker導入時、ゆうきゃんのQiitaの記事を参考にさせて頂きました。 かなりわかりやすかったです。有り難うございます。 (まさかご本人からコメントが来るとは......)
ucan-lab

2020/06/29 16:35

ボリューム名をdb-storeにしたりenvironmentで環境変数設定してる人はそういなかったので私の記事を参考にしたのかなって思ってました笑 "networks:" が未指定の場合は、"default"ネットワークがコンテナに設定されます。 そのため、コンテナ間の通信が可能なのですが自分でネットワークを設定する場合は通信したいコンテナはそれぞれ同じネットワーク内に配置させてあげる必要があります。
guest

0

DB_HOST=db #ここはdocker-compose.yml合わせ利必要がある?

あります。

php_network_getaddresses: getaddrinfo

これは名前解決ができない時のエラーです

投稿2020/06/24 10:45

mikkame

総合スコア5036

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

donut4

2020/06/26 07:53

ありがとうございます。 .envのDB_HOST=dbにしてますが同じエラーが出ます。 php artisan cache:clear php artisan config:cache も試しましたが依然としてエラーが出ています。 他に心当たりありませんか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問