Docker ComposeによるLaravelの開発環境(Apache+MySQL+phpMyAdmin+Mailhog)
php:7.4.7-apachelocalhostでアクセスcomposer:2.0.8node- 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でログイン |