はじめに
Laravelでポートフォリオの作成中、アプリケーションで下記エラーが発生
SQLSTATE[HY000] [2002] php_network_getaddresses
原因
色々ネットで調べたところ.envの設定がdocker-compose.yamlとチグハグになっている事が原因とのこと。
.env
DB_CONNECTION=mysql
//修正前
DB_HOST=127.0.0.1
//修正後
DB_HOST=db
DB_PORT=3306
DB_DATABASE=database
DB_USERNAME=db-user
DB_PASSWORD=db-pass
docker-compose.yaml
db:
image: mysql:5.7
//↓.envのDB_HOSTをこれと合わせる。
container_name: db
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: database
MYSQL_USER: db-user
MYSQL_PASSWORD: db-pass
以上の対応したところ、アプリの方は治ったーー!!と思ったが、、
今度はmigrateの際に同様のエラー発生。
散々悩んだ結果、migrateはコンテナの中で行わないといけないという事が判明。
コンテナ内でmigrateをすることで、無事解決。
docker完全に理解したと思ってたけどまだ知らない事だらけでした。