Help us understand the problem. What is going on with this article?

[25分でできる!]Laradockを使ったLaravel環境構築

More than 1 year has passed since last update.

この記事に書いていること

Laradockを使ったLaravelの環境構築方法を書いています.
Laravel以外の周辺技術はMySQL, Nginxです.

[5分でおわる!]みたいなタイトルにしたかったのですが, Dockerイメージのダウンロードに合計25分くらいかかってしまうので, [30分でできる]というなんとも微妙な数値になりました.
インターン先でLaravel勉強会を開催したときの資料をほぼ使いまわしていますが, 改めて見てもかなり一瞬で環境構築終わるので素敵でした.

環境構築の前に必要なもの

  • Docker
  • Docker-compose

Dockerはこちらからダウンロードが可能です

  • Git

環境構築

1: 作業ディレクトリを作成する

環境構築が完了したときのディレクトリ構成を説明しておくと以下のようになります.

  • 作業ディレクトリ
    • laradock
    • application

applicationディレクトリの中にLaravelのソースコードがあります.
まずは適当な場所に作業ディレクトリを作成し, カレントディレクトリをそこへ移します.
今回は laravel という作業ディレクトリを作成し, そこで作業を進めることにします.

mkdir laravel && cd laravel

2: Laradockをクローンする

先程作成した laravel ディレクトリ配下にlaradockをクローンします.

git clone https://github.com/LaraDock/laradock.git

Laradockの公式ページ

3: 環境設定ファイルを作成

laradock用の設定ファイルを作成します. ベースのなるファイルがlaradockディレクトリにあるのでそれをコピーするだけでOKです.

cd laradock # 先程クローンしたlaradockディレクトリに移動します
cp env-example .env

4: Laravelアプリケーションを作成する

一度Laravel用のコンテナを立ち上げます. Laravelサーバーはworkspaceという名前のコンテナです.
docker-composeコマンドはlaradockディレクトリ配下で行います.

docker-compose up -d workspace

コンテナが作成されたらコンテナ内に入り, Laravelアプリケーションを作成するコマンドを実行します.

docker-compose exec workspace  /bin/bash

コンテナ内で以下のコマンドを実行し, Laravelアプリケーションを作成します.
「sample_app」がアプリケーション名になり, ディレクトリ名にもなります.

composer create-project laravel/laravel sample_app 

Laravelアプリケーションが作成されたら一度コンテナから出ます

exit

5: 環境設定ファイルの修正

手順2 で作成した .env を修正します.
8行目のアプリケーションへのPATHを指定します.

# Point to the path of your applications code on your host
APP_CODE_PATH_HOST=../sample_app

また, MySQLのデータベースがlatestだと8.0になってしまい, うまく動作しないことが多いので, 5.7に設定しておきます(198行目)

MYSQL_VERSION=5.7

6: コンテナの再起動

Laravel, nginx, MySQLのコンテナを立ち上げます.

docker-compose up -d workspace nginx mysql

7: ブラウザで見る

http://localhost
へアクセスするとLaravelの初期画面が見えるはずです!

Image from Gyazo

laravelディレクトリ配下にsample_appというディレクトリができており, そこでLaravelの開発ができます!
試しに, sample_app/resources/views/welcome.blade.php をいじってみると画面が変わります!

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away