Laradockとは
Docker環境でLaravel環境を簡単に構築できるDockerイメージです。
Laradockのプロジェクトは大きくなり、SymfonyやWordpress環境までも構築出来るようになりました。
機能としては、Nginx, Apacheなどのwebサーバー、PHPの各バージョン、Mysql, PostgreSQL等の各データベースを自由に選択できます。
今回はNginx、PHP-FPMが動く環境を作り、Laravelを立ち上げるまでを記載します。
前提
・dockerインストールしていること
・docker-composeコマンドが実行できるようになっていることが必要。
環境
Windows10 Pro
手順
[1] CMD開く。作業ディレクトリを作成してそこまで移動する
cd C:\Users\user
[2] フォルダ内でLaradockをgithubからcloneします。
git clone https://github.com/laradock/laradock.git
[3] Laravel環境を構築するまでの下準備
nginx(webサーバー。Apacheでも良いが、今回はLaradockの公式マニュアルに沿いました)
php-fpm(PHPを実行する環境。いわゆるfastCGI)
.envの作成
copy env-example .env
dockerコンテナの立ち上げ
docker-compose up -d nginx
コンテナが立ち上がっているかを確認する
docker-compose ps
workspaceにログインし、Laravelをセットアップする
docker-compose exec workspace bash
workspaceにログインすると、最初の状態では/var/wwwにいる。この場所は、Windows側のprojectsフォルダ直下と同様の場所を表している。(laradockディレクトリ直下ではない)
/var/wwwの位置でLaravelをセットアップする
composer create-project laravel/laravel app01
現時点でディレクトリ構成は以下のようになっているかと思います。
親:projects
子1:laradock … Dockerコンテナ
子2:app1 … Laravel本体
Dockerダッシュボード状態
ブラウザで動作確認する
ginx(webサーバー)の設定をします。設定ファイルを編集するため、一度、dockerコンテナを停止します。Windows側のlaradockディレクトリ直下で以下のコマンドを叩く
dockerコンテナが全てストップします。
コンテナを再度立ち上げる
docker-compose up -d nginx
コンテナが立ち上がったら、ブラウザでhttp://localhost へアクセス
参考
- http://laradock.io
- http://laradock.io/introduction/
- 環境作成時に次のエラーが出た場合
UnexpectedValueException
The stream or file "/var/www/storage/logs/laravel.log" could not be opened:
failed to open stream: Permission denied
laravel.logに書き込もうとして権限がなかった時に発生します。
sudo chmod 777 -R storage/
参考になったURL
https://teratail.com/questions/236475