Laravelプロジェクト(Sail≒Docker)の作成から起動まで

Laravel

Laravelプロジェクト(Sail≒Docker)の作成

この記事が対象とする環境
ホスト(HOST)
 Windows
 Docker Desktop
 WSL 2
ゲスト(GUEST)
 PHP 8.2.7
 Laravel
 Laravel Sail

Docker Desktop

Docker Desktopをインストールしていない場合、以下からダウンロード&インストールしてください。

Docker Desktop
Docker Desktop is collaborative containerization software for developers. Get started and download Docker Desktop today ...

WSL2

WSLのインストール状況やバージョンが不明な場合、コマンドプロンプトで以下を実行してみてください。先頭にアスタリスクが付いているものがデフォルトのディストリビューションです。

wsl -l -v
  NAME                   STATE           VERSION
* docker-desktop         Running         2
  docker-desktop-data    Running         2
  Ubuntu                 Running         2

デフォルトを変更するには「wsl –set-default ***」を使用します。

wsl --set-default docker-desktop
PS C:\Users\honda> wsl -l -v
  NAME                   STATE           VERSION
  Ubuntu                 Running         2
  docker-desktop-data    Running         2
* docker-desktop         Running         2

Ubuntuに接続する

PowerShellのメニューからUbuntuに接続します。

PowerShellにメニューが表示されない場合、以下の記事を参照してみてください。

プロジェクトの作成

PowerShellでUbuntuに接続したあとに、curlコマンドでプロジェクトを作成します。「sail-app」がプロジェクト名ですので、好きなものに変更してください。プロジェクトの作成が完了するまで、やや時間が掛かりますので待ちます。

curl -s https://laravel.build/sail-app | bash

起動

作成したプロジェクトのフォルダに移動し、「./vendor/bin/sail up」で起動します。起動自体は割とすぐに完了します。起動後はブラウザで「http://localhost/」にアクセスするとLaravelのトップページが表示されるはずです。

cd sail-app
./vendor/bin/sail up
2023-07-18 10:24:12,880 INFO spawned: 'php' with pid 16
   INFO  Server running on [http://0.0.0.0:80].
  Press Ctrl+C to stop the server
2023-07-18 10:24:14,596 INFO success: php entered RUNNING state, process has stay

終了

終了するときはPowerShell(Ubuntu接続しているウィンドウ)で「Ctrl+C」を押すことで終了できます。

再起動のやり方(おさらい)

  1. 「Docker Desktop」を起動する
  2. 「PowerShell」を起動する
  3. 「PowerShell」で「Ubuntu」に接続する
  4. プロジェクトフォルダに移動する「cd sail-app」
  5. Sailを起動する「./vendor/bin/sail up」
  6. ブラウザで「http://localhost/」にアクセスする

札幌在住エンジニア。JavaやPHPやWordPressを中心とした記事が中心です。

【SE歴】四半世紀以上
【Backend】php / java(spring) / c# / AdobeFlex / c++ / VB / cobol
【Frontend】 vue.js / jquery他 / javascript / html / css
【DB】oracle / mysql / mariadb / sqlite
【infrastructure】aws / oracle / gcp
【license】aws(saa-c03) / oracle master / XML Master / Sun Certified Programmer for the Java 2 Platform 1.4

Nobelをフォローする
Laravel
Nobelをフォローする

コメント

タイトルとURLをコピーしました