ディレクトリの作成
mkdir myapp
cd myapp
Laradockの導入
git clone https://github.com/Laradock/laradock.git [名前を指定したい場合は入力]
Laradockの.env
を編集
cd laradock
cp env-example .env
.envを開いて以下の通りに編集する
APP_CODE_PATH_HOST=../
を APP_CODE_PATH_HOST=../src/
に変更し、保存します。
Dockerコンテナの起動 & ビルド
docker-compose up -d nginx mysql
// ワークスペースに入る
docker-compose exec workspace bash
Laravelのコマンドはworkspace内で実行できる
Laravelのインストール
composer create-project --prefer-dist laravel/laravel ./
src/.env (変更後)
DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=default
DB_USERNAME=default
DB_PASSWORD=secret
ここでphp artisan migrate
してみる
root@c137d5c70b48:/var/www# php artisan migrate
Illuminate\Database\QueryException : SQLSTATE[HY000] [2002] Connection refused (SQL: select * from information_schema.tables where table_schema = default and table_name = migrations and table_type = 'BASE TABLE')
このままだとエラーが発生する
原因:MySQLコンテナに入ってMySQLにログインしてuserの認証方式を変更する必要がある。
別タブで
docker-compose exec mysql bash
を実行してMySQLコンテナに入る。
mysql -u root -p
パスワードはroot
以下のコマンドで認証方式を変更
mysql> ALTER USER 'default'@'%' IDENTIFIED WITH mysql_native_password BY 'secret';
mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'secret';
workspaceコンテナで
php artisan migrate