Laradock(Docker)でLaravelの開発環境を構築する
先日ローカル環境にLaravelを構築したのですが・・
coxcox.hatenablog.com
今後MySQLも必要になるし、必要なものを全部ローカルで準備するのも大変だなぁと思いDocker上にLaravelの開発環境を作ってみました!
今回はLaradockというLaravelの開発に必要な環境をDocker上で動かせるものを使いました。
Laradockのクローン
プロジェクト用のディレクトリを作成し、その配下にLaradockをクローンします。
$ mkdir <プロジェクトフォルダ> $ cd <プロジェクトフォルダ> $ git clone https://github.com/Laradock/laradock.git
MySQLの環境設定変更
laradockディレクトリにある env-example をコピーして .env ファイルを作成します。
$ cd laradock $ cp env-example .env
.env ファイルを開いて MYSQL の設定を任意の値に変更します。
$ vim .env 215行目あたり ### MYSQL ################################################# MYSQL_VERSION=5.7 MYSQL_DATABASE=laravel MYSQL_USER=root MYSQL_PASSWORD=root MYSQL_PORT=3306 MYSQL_ROOT_PASSWORD=root
コンテナの起動
nginx / mysql / workspace のコンテナを起動します。
(初回起動は時間がかかるので気長にお待ちください・・)
$ docker-compose up -d nginx mysql workspace Creating laradock_docker-in-docker_1 ... done Creating laradock_mysql_1 ... done Creating laradock_workspace_1 ... done Creating laradock_php-fpm_1 ... done Creating laradock_nginx_1 ... done
ここでブラウザから「http://localhost」にアクセスしてみます。
この時点では404が出ますが問題ありません!次の手順に進みましょう〜
Laravelプロジェクトの作成
Laravelプロジェクトはworkspaceコンテナに作成します。
workspaceコンテナにログインします。
$ docker-compose exec --user=laradock workspace bash /var/www$
workspaceコンテナ上でLaravelプロジェクトを作成します。
/var/www$ composer create-project --prefer-dist laravel/laravel <Laravelプロジェクト名>
workspaceコンテナからログアウトします。
/var/www$ exit
Laravelプロジェクトを作成すると以下のようなディレクトリ構成になったと思います。
<プロジェクトフォルダ> ├ laradock └ <Laravelプロジェクト>
アプリケーションパスの変更
laradockからアプリケーションフォルダ(workspaceコンテナで作成したLaravelプロジェクト)が参照できるように.env ファイルを修正します。
$ vim .env 5行目あたり ### Paths ################################################# APP_CODE_PATH_HOST=../<プロジェクト名>
コンテナの再起動
.envファイルを修正した際にはコンテナの再起動が必要になります。
$ docker-compose up -d nginx mysql workspace
再度ブラウザから「http://localhost」にアクセスしてみます。
Laravelの初期画面が表示されればOKです!
DBへの接続確認
mysqlコンテナも起動したのでMySQL Workbenchから接続確認をしてみます。
.envファイルのMySQLで設定した内容を入力した後「Test Connection」をクリックします。
以下のように Successfully made the MySQL connection となればOKです!
今回Laradockを使ってDocker上にLaravelを構築してみましたが、とっても簡単に開発環境を作ることができました!
Laravelの開発環境を用意したいという方は是非このLaradock使ってみてはどうですか?