qiitaの記事・リポジトリを元にdockerでlaravelの環境を作りました。
DBテーブルを作成したくて、migrationコマンドを打ちましたが、接続エラーが出て接続できません。
「dockerの.envファイル内のDB設定とlaravelの.envの記述を合わせる」
ことを試したのですが、うまくいかず困っています。
・エラー画面
1.参考にしたqiitaの記事
Laravelの開発環境をDockerを使って構築する
2.使用しているdockerのリポジトリ
docker-laravel
3.やったこと
・DB名も自分の作る環境に合わせたくて、dockerの.envファイル下記のようにしました。
#COMPOSE_PROJECT_NAME=myproject PROJECT_PATH=./src TZ=Asia/Tokyo WEB_PORT=10080 APP_PORT=18000 DB_PORT=13306 DB_TESTING_PORT=13307 DB_NAME=opbook DB_USER=master DB_PASS=secret MAILHOG_PORT=18025 MAIL_HOST=mail MAIL_PORT=1025
この.envファイルは、使用しているリポジトリで紹介した.envファイルにあたります。
そして、laravelのsrcディレクトリ配下にある.envファイルは下記のようにしました。
APP_NAME=OPbook APP_ENV=local APP_KEY=base64:Kp3oED9CBMlUr4Q/XrNg61FQJNcZvXDFgQztPMe3jE4= APP_DEBUG=true APP_URL=http://localhost LOG_CHANNEL=stack DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=13306 DB_DATABASE=opbook DB_USERNAME=master DB_PASSWORD=secret BROADCAST_DRIVER=log CACHE_DRIVER=file QUEUE_CONNECTION=sync SESSION_DRIVER=file SESSION_LIFETIME=120 REDIS_HOST=127.0.0.1 REDIS_PASSWORD=null REDIS_PORT=6379 MAIL_DRIVER=smtp MAIL_HOST=smtp.mailtrap.io MAIL_PORT=2525 MAIL_USERNAME=null MAIL_PASSWORD=null MAIL_ENCRYPTION=null AWS_ACCESS_KEY_ID= AWS_SECRET_ACCESS_KEY= AWS_DEFAULT_REGION=us-east-1 AWS_BUCKET= PUSHER_APP_ID= PUSHER_APP_KEY= PUSHER_APP_SECRET= PUSHER_APP_CLUSTER=mt1 MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}" MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
変更した3箇所、
DB_DATABASE=opbook
DB_USERNAME=master
DB_PASSWORD=secret
を合わせる以外にやれることが思い付かず手詰まりになっております。
4.その他
qiita記事中のコマンドを使って、mysqlコンテナへ接続することはできます。
mysqlコンテナへ入るコマンド
1docker-compose exec db bash -c 'mysql -uroot -p${MYSQL_PASSWORD} ${MYSQL_DATABASE}'
実際にdockerで作ったテーブルができているのも確認しました。
以上、長文でお手数おかけしますが、アドバイスいただけますと幸いです。
回答1件
あなたの回答
tips
プレビュー