忘れっぽいので自分用かも...
Laradockという、オープンソースを使って環境を構築する
また、GitとDockerはインストール済みとして進めて行く
Laradockのダウンロード
まずは、gitからclone
$ git clone https://github.com/Laradock/laradock.git
.env作成
cloneしてきたlaradockディレクトリに移動し、env-exampleファイルをコピーして、
.envファイルを作成
$ cd laradock
$ cp env-example .env
コンテナ起動
次に以下コマンドで、コンテナを初期化
初期化には少し時間がかかる
$ docker-compose up -d nginx mysql workspace phpmyadmin
Laravelのプロジェクト作成
プロジェクトはworkspaceコンテナ上に作成する
まずは、workspaceコンテナへログイン
$ docker-compose exec --user=laradock workspace bash
新規プロジェクト作成
プロジェクト名はsample
$ composer create-project laravel/laravel sample --prefer-dist "5.5.*"
すると、sampleプロジェクトが作成される
一度、コンテナからログアウト
$ exit
共有ディレクトリの設定
最後に.envファイルを開き、編集する
.env
###########################################################
###################### General Setup ######################
###########################################################
### Paths #################################################
# Point to the path of your applications code on your host
# APP_CODE_PATH_HOST=../ // コメント化
APP_CODE_PATH_HOST=../sample // 追加
...
編集が完了したら、保存
設定変更を反映させるためにコンテナを停止させ、再起動
// 停止
$ docker-compose stop
// 再起動
$ docker-compose up -d nginx mysql
これで環境構築完了です
Migration時のエラー
下記のエラーでMigrationが実行できなくて詰まったので追記
権限の問題らしい
In Connection.php line 664:
SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client (SQL: select * from information_schema.tables where table_schem
a = default and table_name = migrations)
In Connector.php line 67:
SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client
In Connector.php line 67:
PDO::__construct(): The server requested authentication method unknown to the client [caching_sha2_password]
まず、mysqlコンテナに入り、mysqlコマンドを叩く
$ docker-compose exec mysql bash
$ mysql -u root -p
権限を変更するコマンドを叩く
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
ALTER USER 'default'@'%' IDENTIFIED WITH mysql_native_password BY 'secret';
実行できたらexitで終了
これでmigrationできた