php

Laravel SailをWindowsで使う方法解説【LaravelのDocker環境を簡単に作る】

こんにちは、フルスタックエンジニアのryuです。

今回の記事はLaravel sailをWindowsで使う方法を解説します。Laravel SailをWindowsで使う場合は、DockerDesktop for WindowsとWSL2の準備が必要です。LaravelのDocker環境をLaravel Sailを使って簡単に作成してみましょう。

サーバー構築を実践で身につけるInfraAcademy

※本ページには、プロモーション・アフィリエイトリンクが含まれています

Laravel SailをWindowsで使う方法解説

今回の記事では、Laravel SailをWindowsで使う方法について解説します。Laravel Sailとは、LaravelのDocker環境をコマンドラインで簡単に構築できるツールです。

Windowsで使うためには、準備が必要なので、詳しく解説します。準備するものは以下の3つです。

  • DockerDesktop for Windows
  • WSL2
  • Windows Terminal

では、詳しく解説します。

DockerDesktop for Windowsをインストール

まず、DockerDesktop for Windowsをインストールしましょう。DockerDesktop for Windowsは以下の公式サイトよりインストールすることができます。

Docker Desktop for Windows by Docker | Docker Hub

DockerDesktop for Windowsのインストール手順についてはこちらの記事で詳しく解説しています。

・参考:【初心者向け】Dockerの環境をセットアップしてみよう!【Docker入門②】

仮想化の設定やWSL2の設定など上記の記事で詳しく解説しています。

Windows Terminalのインストール

次にWindows Terminalをインスト―ルします。ターミナル上でWSLを動作させるために使用します。

Windows Terminalはこちらからインストールできます。

Windows Terminal を入手 – Microsoft Store ja-JP

Windows Terminalを入手したら、先ほどインストールしたWSL2で起動します。私の環境の場合はDebianで操作します。

Laravel SailでDocker環境を構築する

先ほどまで、Laravel sailを動作させる環境を準備しました。次にLaravel Sailを使ってDocker環境を構築してみましょう。

Laravel Sailの導入

まず、以下のコマンドをWindows Terminalに入力します。

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

//書式
curl -s https://laravel.build/<YOUR_PROJECT_NAME> | bash

コマンドを入力すると、”app/”配下のLaravelのソースコードがダウンロードされます。少し時間が掛かるのでダウンロードが完了するまで、しばらく待ちましょう。

この時に”docker is not running”というエラーが出た場合は、Dockerが起動していないか、WSL2で動いていない場合があります。

Laravelのアプリを起動

最後に、以下のコマンドを入力してDockerコンテナを起動させます。

./vendor/bin/sail up

コンテナが起動すると、Laravelのデフォルトページにアクセスできるようになります。

今回の記事では、Laravel Sailを使ってDocker環境を作りましたが、docker-compose.ymlファイルを作成しても環境を作ることができます。詳しくはこちらの記事で解説しています。

Laravel SailをWindowsで使う方法まとめ

今回の記事では、Laravel SailをWindowsで使う方法について解説しました。Laravel SailはLaravelのベストプラクティスでも記載されているように、使用を推奨されているので、ぜひ使って見ましょう。

当ブログでは、このようなITに関連する記事を発信しているので興味のある方は是非ご覧ください。

Laravelについてさらに勉強したい方はこちら。

ABOUT ME
ryu@InfraAcademyというインフラ学習サービス運営
大手企業→上場ベンチャー→スタートアップでエンジニアをしていました。 インフラエンジニア歴10年以上。 Linuxやネットワークの学習ができるサービスInfraAcademyを運営中。
RELATED POST