Laravel Sailで開発環境を構築する
- 2021.02.10
- Laravel Sail
- Laravel Sail

Laravel Sailを使用して、Laravelの開発環境を構築するまでの手順を記述してます。
環境
- OS CentOS Linux release 7.9.2009 (Core)
- docker 20.10.2
LaravelSail導入
dockerがインストールされている環境が前提となりますが、以下のコマンドと、
1 2 |
# laravel-testという名前のプロジェクトを作成 curl -s https://laravel.build/laravel-test | bash |
以下のコマンドを実行するだけで「Laravel」の開発環境を構築することが可能です。
1 |
cd laravel-test && ./vendor/bin/sail up |
ブラウザから http://プライベートIP or サーバーアドレスにアクセスするとLaravelの開発環境が構築されいることが確認できます。

ブラウザから http://プライベートIP or サーバーアドレス:8085にアクセスすると、メール確認用のMailHogも構築されています。

MYSQLアクセス
mysqlにも「sails」コマンドを使用すればアクセスすることが可能です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
./vendor/bin/sail exec mysql mysql -u root <出力結果> Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 20 Server version: 8.0.23 MySQL Community Server - GPL Copyright (c) 2000, 2021, Oracle and/or its affiliates. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> |
その他コマンド
artisanやcompose、nodeもsailから使用することが可能です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
./vendor/bin/sail artisan -V <出力結果> Laravel Framework 8.27.0 ./vendor/bin/sail composer -V <出力結果> Composer version 2.0.9 2021-01-27 16:09:27 ./vendor/bin/sail node -v <出力結果> v15.8.0 ./vendor/bin/sail npm -v <出力結果> 7.5.1 ./vendor/bin/sail php -v <出力結果> PHP 8.0.2 (cli) (built: Feb 7 2021 12:22:16) ( NTS ) Copyright (c) The PHP Group Zend Engine v4.0.2, Copyright (c) Zend Technologies with Zend OPcache v8.0.2, Copyright (c), by Zend Technologies |
unitテストも以下のコマンドで可能です。
1 2 3 4 5 6 7 8 9 10 11 12 |
./vendor/bin/sail test <出力結果> PASS Tests\Unit\ExampleTest ✓ basic test PASS Tests\Feature\ExampleTest ✓ basic test Tests: 2 passed Time: 0.23s |
コンテナにアクセス
コンテナにアクセスする場合は、以下で可能です。
1 2 3 4 5 6 |
./vendor/bin/sail shell <出力結果> sail@09226d378cf5:/var/www/html$ ls README.md artisan composer.json config docker-compose.yml phpunit.xml resources server.php supervisord.log tests webpack.mix.js app bootstrap composer.lock database package.json public routes storage supervisord.pid vendor |
エイリアス設定
「./vendor/bin/sail」と毎回入力するのは面倒なので、エイリアスを設定しておきます。
1 2 3 4 |
vi ~/.zshrc <編集> alias sail="./vendor/bin/sail |
反映させます。
1 |
source ~/.zshrc |
sailコマンド一覧
起動
1 |
sail up |
バックグラウンドで起動
1 |
sail up -d |
停止
1 |
sail stop |
ステータス
1 2 3 4 5 6 7 8 9 |
sail ps <出力結果> Name Command State Ports ---------------------------------------------------------------------------------------------------------------------------- laravel-test_laravel.test_1 start-container Up 0.0.0.0:80->80/tcp, 8000/tcp laravel-test_mailhog_1 MailHog Up 0.0.0.0:1025->1025/tcp, 0.0.0.0:8025->8025/tcp laravel-test_mysql_1 docker-entrypoint.sh mysqld Up (healthy) 0.0.0.0:3306->3306/tcp, 33060/tcp laravel-test_redis_1 docker-entrypoint.sh redis ... Up (healthy) 0.0.0.0:6379->6379/tcp |
-
前の記事
go言語 連想配列を作成する 2021.02.10
-
次の記事
mac TablePlusを使用する 2021.02.10
コメントを書く