Docker ComposeによるLaravelの開発環境(Apache+MySQL+phpMyAdmin+Mailhog)
php:7.4.7-apache
localhost
でアクセスcomposer:2.0.8
node
- Mixによるアセットコンパイルのため
mhsendmail
- mailhogでメールを受信するため
phpmyadmin/phpmyadmin:5.0.4
- データベースの管理と操作
localhost:8080
でアクセス
mysql:5.6.48
- データは
/docker/mysql/data
に保存され、永続化されます
- データは
mailhog/mailhog
- メールのテスト環境
localhost:8025
でアクセス
- このリポジトリのクローン
git clone https://github.com/na3shkw/laravel-docker.git
- クローンしたディレクトリに移動
cd laravel-docker
.env
を作成し初期化
make init
- ビルド
make build
- 起動
make up
/src
にLaravelプロジェクトを配置または新規作成します。
DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=laravel_app
DB_USERNAME=devuser
DB_PASSWORD=securedevuserpassword
MAIL_DRIVER=smtp
MAIL_HOST=mailhog
MAIL_PORT=1025
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
make bash
でコンテナのシェルにdevuser
としてログインできます。root
としてログインしたい場合はmake bashroot
が利用できます。
PHPUnitでのテスト用にlaravel_app_testing
データベースが利用できます。
コマンド | 動作 |
---|---|
build | すべてのサービスのビルド |
up | すべてのコンテナを作成し、バックグラウンドで起動 |
down | すべてのコンテナ・ネットワークの破棄 |
stop | すべてのサービスの停止 |
init | .env の初期化 |
restart | すべてのコンテナを再起動 |
bash | アプリコンテナ(php-apache)のシェルにdevuser でログイン |
bashroot | アプリコンテナ(php-apache)のシェルにroot でログイン |