Laradockで簡単に開発環境を準備するメモ2
前回書いたLaradockで簡単に開発環境を準備するメモの続きです。
MysqlのコンテナのDBに接続してみたいと思います。
laradock/.envを編集する
以下の感じで修正する。
MYSQLのバージョンを変更。
8.04をインストールした場合にそのままだと認証形式でエラーとなるらしくここでは5.7を利用する。
### MYSQL ################################################# MYSQL_VERSION=5.7 MYSQL_DATABASE=default MYSQL_USER=default MYSQL_PASSWORD=secret MYSQL_PORT=3306 MYSQL_ROOT_PASSWORD=root MYSQL_ENTRYPOINT_INITDB=./mysql/docker-entrypoint-initdb.d
MYSQLのバージョンを変更する場合は、DATA_PATH_HOSTで設定したフォルダをきれいして、イメージを作成し直す必要があるらしい。
rm -rf {DATA_PATH_HOSTのパス}/mysql docker rmi laradock_mysql -f docker rmi mysql -f docker-compose build mysql
プロジェクトファイル側の.envファイルを修正
laradock/.envの設定に合わせて、プロジェクトファイル側の.envファイルも修正する。
DB_CONNECTION=mysql DB_HOST=mysql DB_PORT=3306 DB_DATABASE=default DB_USERNAME=default DB_PASSWORD=secret
コンテナを起動する。
docker-compose up -d nginx mysql
mysqlのコンテナに入る
コンテナに入る。
docker exec -it laradock_mysql_1 /bin/bash
ログインする。
mysql -u default -p Enter password: secret
データベースの一覧を表示し、defaultのデータベースを見てみる。 何もテーブルがないことが確認できる。
mysql> show databases; +--------------------+ | Database | +--------------------+ | default | | information_schema | +--------------------+ mysql> use default; Database changed mysql> show tables; Empty set (0.00 sec)
migrateを実行してテーブルを作成する
workspaceにはいる。
docker exec -it laradock_workspace_1 /bin/bash
migrateを実行。
root@e460cd3180b7:/var/www# php artisan migrate:install root@e460cd3180b7:/var/www# php artisan migrate
mysqlのコンテナでテーブルを確認。
テーブルが作成されている。
show tables; +-------------------+ | Tables_in_default | +-------------------+ | migrations | | password_resets | | users | +-------------------+ 3 rows in set (0.00 sec)