laravelの開発環境を構築している際にphp artisan migrateでマイグレーションを実行すると、
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 = ogp and table_name = migrations and table_type = 'BASE TABLE')
at /Users/Rikito_Ishizu/Desktop/practice/ogp-backend/vendor/laravel/framework/src/Illuminate/Database/Connection.php:669
665| // If an exception occurs when attempting to run a query, we'll format the error 666| // message to include the bindingswith SQL, which will make this exception a 667| // lot more helpful to the developer instead of just the database's errors. 668| catch (Exception $e) {
669| throw new QueryException(
670| $query, $this->prepareBindings($bindings), $e 671| ); 672| } 673|
Exception trace:
1 PDOException::("PDO::__construct(): php_network_getaddresses: getaddrinfo failed: nodename nor servname provided, or not known")
/Users/Rikito_Ishizu/Desktop/practice/ogp-backend/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:70
2 PDO::__construct("mysql:host=db;port=3306;dbname=ogp", "root", "password", [])
/Users/Rikito_Ishizu/Desktop/practice/ogp-backend/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:70
Please use the argument -v to see more details.
というようなエラーメッセージを作成されてしまいました。
DBはDockerでコンテナーを作成しており、docker-compose.ymlは以下の通りになっており、
version: '3' services: db: image: mysql:5.7 command: > --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --general-log=true --general-log-file=/var/log/mysql/general.log environment: - MYSQL_DATABASE=ogp - MYSQL_USER=root - MYSQL_PASSWORD=password - MYSQL_ROOT_PASSWORD=pass - TZ=Asia/Tokyo ports: - 3306:3306
.envファイルのDB関係のところは、
DB_CONNECTION=mysql DB_HOST=db DB_PORT=3306 DB_DATABASE=ogp DB_USERNAME=root DB_PASSWORD=password
と記載されてます。
試したこと
[https://qiita.com/uta3chame/items/47b393e5887530573118]
を見たところ、特に’解決できませんでした。
php artisan migrateを叩いて成功するにはどうすればいいのかを教えていただきたいです。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。