LaradockのDBアクセス設定まとめ

Laradockで環境を構築したのはいいものの、Laravelアプリ、「php artisanコマンド」「ホストマシンからのMySQL Workbench」でそれぞれのDB設定のまとめです。

・Laradockの設定確認

自分の環境では以下の設定になっています

laradockの.env設定

### MYSQL #################################################

MYSQL_VERSION=latest
MYSQL_DATABASE=default
MYSQL_USER=default
MYSQL_PASSWORD=secret
MYSQL_PORT=3306
MYSQL_ROOT_PASSWORD=root
MYSQL_ENTRYPOINT_INITDB=./mysql/docker-entrypoint-initdb.d

上記の設定より、ユーザー:default, パスワード:secretとなります

Laravelアプリの設定

Laravelの.env設定は以下の通り

DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=default
DB_USERNAME=default
DB_PASSWORD=secret

DB_HOSTには、docker-compose.xmlのサービス名を指定します

MySQL Workbench

ホストから、DockerコンテナのMysqlに接続する設定は以下の通り

ほかのタブはデフォルト設定です

php artisan migrateコマンド

dockerコマンドでコンテナ内に入る必要があります

GitBashから以下のコマンドを実行
$ winpty docker-compose exec workspace bash

その後、目的のプロジェクトフォルダ内でartisanコマンドを実行
root@9dbe7ec65ea8:/var/www# php artisan migrate

Laradockは便利ですが、環境構築後はいろいろ戸惑ってしまいますね。