前提
Docker環境でLaravelを使って開発したいのですが、コンテナ内でphp artisan migrate
を実行できない原因がわからず困っています。
こちらのハンズオン形式の記事を参考にして環境構築を進めており、「マイグレーション実行(再実行)」の箇所でエラーが発生しています。(その箇所までエラーは一切起きていません)
発生している問題・エラーメッセージ
dockerコンテナ内でphp artisan migrate
を実行時のエラー
Illuminate\Database\QueryException SQLSTATE[HY000] [1045] Access denied for user '$DB_USERNAME'@'xx' (using password: NO) 後略
vendor/laravel/framework/src/Illuminate/Database/Connection.php:760 756▕ // If an exception occurs when attempting to run a query, we'll format the error 757▕ // message to include the bindings with SQL, which will make this exception a 758▕ // lot more helpful to the developer instead of just the database's errors. 759▕ catch (Exception $e) { ➜ 760▕ throw new QueryException( 761▕ $query, $this->prepareBindings($bindings), $e 762▕ ); 763▕ } 764▕ } +36 vendor frames 37 artisan:37 Illuminate\Foundation\Console\Kernel::handle(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
該当のソースコード
docker
1db: 2 platform: linux/amd64 3 build: ./infra/mysql 4 volumes: 5 - db-store:/var/lib/mysql
DB_CONNECTION=mysql DB_HOST=db # yamlファイルの「db」に揃える DB_PORT=3306 DB_DATABASE=DB名 DB_USERNAME=Mysqlのユーザー名 DB_PASSWORD=上記ユーザーのパスワード
現状と試したこと
現状
- コンテナは全て立ち上がっています
- webページの表示はできていますが、DBに接続ができていません
試したこと
- ハンズオン記事の通りに作業
- .envの値が間違っていないか確認
- コンテナの削除と立ち上げ直し
- laravelのcache削除
- mac M1用に yamlファイルの「db:」に
platform: linux/amd64
を追加 - mysqlでユーザー作成・DBの存在をチェック
エラーメッセージで調べて出てきたことは大体実行したのですが、migrateがやはりできません。
どなたかピンと来ることがあれば何でもいいので教えていただきたいです。。。
バージョンなど
- PC: Mac M1
- docker-compose.yaml: "3.9"
- composer: 2.2.1
- php: 8.1.14
- laravel/framework: "^9.19"
- mysql 8.0
- nginx/1.20.2

回答1件
あなたの回答
tips
プレビュー
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
また依頼した内容が修正された場合は、修正依頼を取り消すようにしましょう。
2023/01/15 05:46