DockerでLaravel開発環境-Laradock

PHPフレームワークLaravelでWEBシステム開発するためのDockerによる開発環境Laradockを使ってみる。
For Windows。

必要なもの

docker
docker-compose
git

構築環境

Alpine Linux(Docker標準)
Nginx
MySQL5.7
PHP7
phpMyAdmin

開発ディレクトリ構成

Laradockインストール

C:\laravel\laradock\.env

※C:\laravel\laradock\data をMySQLのデータディレクトリに設定

Laradock起動

=== メモ ===
※初回起動時はイメージを作成するためすっごい時間がかかる。
※DockerでCドライブをShareしておかないとエラーに。。。
※エラーが出たら
・イメージ再構築(–buildオプションを付けて実行)
・Dockerの再起動
のどちらかで直ることが多い。
============

http://localhost:8080 でphpMyAdminのログイン画面が表示される。

サーバ:mysql
ユーザ名:root
パスワード:root

でログインできたらOK!

Laravelプロジェクト作成&設定

Laravelプロジェクト作成

例としてproject1というプロジェクトを作成します。

laradockの環境設定ファイル.envにLaravelプロジェクトを設定

C:\laravel\laradock\.env

laradock再起動

http://localhost/ にアクセスしてLaravelのデモ画面が表示されたらOK!

★Laradockの環境設定ファイル.envを変更することでプロジェクトの切り替えができるのね!
同時に起動はできないけど。

タイムゾーンとロケールの設定

C:\laravel\project1\config\app.php

エラーメッセージ日本語化

※resources/lang/jaディレクトリが生成される。

データベースとメール(Gmail)を設定

C:\laravel\project1\.env

C:\laravel\project1\config\database.php

補足:Windows起動時にDocker for Windowsの自動起動を停止

OS起動時に自動的にDocker for Windowsが立ち上がる。

設定で「Start Docker Desktop when you log in」のチェックを外したのにな~
と思っていたらWindowsのスタートアップに登録されてた。

タスクバーを右クリック
>タスクマネージャー
>スタートアップ[タブ]
>Docker Desktopを右クリックして「無効化」

補足:複数サイトを同時表示したい

Laradock環境設定ファイル.envのAPP_CODE_PATH_HOSTでhttp://localhost/で表示するプロジェクトを切り替えることにしたが、複数のプロジェクトを同時に利用したい。

【例】
project1をhttp://project1.local
project2をhttp://project2.local
でそれぞれ表示できるように設定します。

APP_CODE_PATH_HOST

C:\laravel\laradock\.env

※元に戻す

Nginxの設定

laradock/nginx/sites/laravel.conf.example をコピーして
laradock/nginx/sites/project1.conf
laradock/nginx/sites/project2.conf
を作成し各ファイルを以下のように変更。


project1.conf

project2.conf

hostsファイルに追記

Windows10なら
C:\Windows\System32\drivers\etc\hosts

起動

※workspaceはAPP_CODE_PATH_HOSTのパスになるのでコマンド実行時には注意!
特に複数サイトを同時表示が必要な場合だけにしたほうが楽ね。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする