LoginSignup
2
3

More than 5 years have passed since last update.

Laravel入門 -Laradock導入-

Last updated at Posted at 2019-04-07

はじめに

Laradockについて

PHPを開発するのに必要なアプリが全部セットになったDocker環境。
今回はMySQL + PHP-FPM + NGINX + Laravelでいきますが、データベースにPostgreSQLを選んだり、WebサーバにApacheを選んだりかなり自由度は高いです。

ディレクトリ構成

.
├── laradock-dakoku ←Laradockのコード (docker-composeコマンドはここで実行)
└── src ←Laravelのコード (コンテナに入らずエディタで編集できる)

コンテナを動かすための初期設定

PROJECT=(プロジェクト名)
mkdir $PROJECT
cd !$
# イメージを他プロジェクトと共用しないよう名前を変える
git clone https://github.com/Laradock/laradock.git laradock-$PROJECT
cd laradock-$PROJECT
cp env-example .env
.env
DB_HOST=mysql
APP_CODE_PATH_HOST=../src
# MySQL8の認証方式caching_sha2_passwordにPHPのMySQLライブラリが対応していないため
MYSQL_VERSION=5.7.25

コンテナを動かす

docker-compose up -d nginx mysql workspace

Laravelをインストール

docker-compose exec workspace bash
# バージョンは好きなものを指定する。ここでは5.2系
composer create-project laravel/laravel . "5.2.*"

DB migrate実行

.env
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=default
DB_USERNAME=default
DB_PASSWORD=secret
php artisan migrate

NGINX設定

cp nginx/sites/laravel.conf.example nginx/sites/laravel.conf
nginx/sites/laravel.conf
root /var/www/src/public;
docker-compose stop nginx
docker-compose up -d nginx

Webブラウザでアクセス

Q&A

Q1. artisanコマンドはどうやって実行すればいい?
A1. laradockのディレクトリでdocker-compose exec workspace bash

Q2. NGINXのログはどこ?
A2. laradock配下のlogs/nginx

Q3. MySQLのデータはどこ?
A3. laradockの.envファイル、DATA_PATH_HOSTに定義されている場所 (デフォルトは~/.laradock/data)。

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3