【Laravel】Docker + Laravel + VScode による開発環境構築

今までlaravelプロジェクトを作る際、composerでインストールしていた。しかし最近は公式のインストール手順を見てもDockerを使った方式を推奨しているようなので、Laravel9勉強ついでにDocker方式で環境構築してみることにした。その時のメモ。

環境
  • Windows11
  • Laravel9
  • VScode
  • 2022年7月ごろ

Docker Desktopの準備

1:Docker Desktopのインストール

Dockerの公式サイトからダウンロードしてインストール。自分の場合はWindows用を利用。

Docker Desktop
Docker Desktop is collaborative containerization software for developers. Get started and download Docker Desktop today on Mac, Windows, or Linux.

Dockerは2021年に有料化されたものの個人や教育、スモールビジネスであれば無料利用可能。

終わると下のような画面が表示される。ボタンを押すとパソコン自体が再起動

2:Linux カーネル更新プログラム をインストール

再起動後、自動でDocker Desktopが立ち上がり、さらに画像のようなアラートポップアップが表示される。

https://aka.ms/wsl2kernel のリンクを押して開いたページから、「x64 マシン用 WSL2 Linux カーネル更新プログラム パッケージ」をダウンロードして実行。

すると下のようなウィンドウが出てくるので、進めていこう。

3:Ubuntuのインストール

マイクロソフトストアからubuntuを入手する。自分はUbuntu 22.04 LTS というバージョンを入手した。

https://apps.microsoft.com/store/detail/ubuntu-2204-lts/9PN20MSR04DW?hl=ja-jp&gl=JP

そして入手したのを実行すると言語選択とユーザー名・パスワードの入力が求められるので入力していこう。それが終わると準備作業は完了なので次はLaravelのインストール。

ちなみに日本語はなかったので、English を選択した。

Laravelインストール

ubuntuを起動

スタートメニューからubuntuを起動すると。

起動時点では自分の場合 /home/user ディレクトリがカレントだった。

例えば “apps” というディレクトリに、新規にLaravelプロジェクトをインストールするなら

mkdir apps

でディレクトリを作成、

cd apps

で移動しておこう。

Laravelプロジェクトの作成

そして Laravelのプロジェクト名(例としてsample)を指定して下記コマンドを実行すると、プロジェクト名のディレクトリ内にlaravelアプリケーションがインストールされる。(/apps/sample/ここにLaravelプロジェクトのファイル群)

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

Laravel Sailを起動

Laravelアプリケーションのインストールが終わると、プロジェクトのディレクトリ(例ではsample)に移動してLaravel Sailを起動しろと表示される。

指示された通り、cd sample と移動し下記コマンドを実行しよう。

./vendor/bin/sail up

これは結構時間がかかるものの、遅いのは初回だけで次からは高速になる。

起動が完了し、ブラウザで http://localhost を開く。下の画像のようなページが表示されればインストールは成功。

VScodeでの設定と実行

拡張機能Remote Developmentのインストール

上述の手順で一応動くようにはなったが、VScode上でコンテナ内のファイルを操作できるようにするため「Remote Development」拡張機能をインストールしておこう。

Remote Development - Visual Studio Marketplace
Extension for Visual Studio Code - An extension pack that lets you open any folder in a container, on a remote machine, or in WSL and take advantage of VS Code'...

実行する

“F1″キーを押して”remote”と入力するか、VScodeのウィンドウ左下にある ><のようなアイコンをクリックしよう。そうすると実行可能なコマンド一覧が表示される。

いくつか実行方法はあるみたいだが、とりあえず今回は上から二つ目の「ディストリビューションを使用した新しいWSLウィンドウ」を選択する。するとこの記事の前方でインストールしたUbuntsuが表示されるはずなので、それを選択。問題なければ自動的に新しいウィンドウでVScodeが開く。その新しいほうのウィンドウ左下にWSL:Ubuntsu–的な表示あがあれば起動成功。

最後にsailを実行する。ubuntuのターミナルを “ctrl +@” で開き,Laravelをインストールしたディレクトリに移動しよう。

あとはそこで ”./vendor/bin/sail up“ とコマンドを打てば sailが起動する。

エイリアスの設定

ただ上のように起動時いちいち./vendor/bin/sail up と入力するのは少し面倒くさい。

簡単に起動・終了できるよう、Bashエイリアスを設定しておく。

①まずctlr + @ でターミナルを開こう。

②次に下記コードを実行し .bashrcファイルを開く。 aliasだとか if fiだとかいろいろ表示されるはずだ。

vi ~/.bashrc

③ “i” と入力することで記入モードが起動する(ターミナルの下のほうに画像のようなINSERTという文字が表示される)

④キーボードの十字キーでターミナル内のカーソルを動かし、ファイルの末尾にもっていこう。例えば ファイルの下端が

~~
~~
fi

のような感じなら、 fiのiの右にカーソルを動かし、そこでEnterキーを押すと改行される。2行くらい改行して、そこに下の記述をペーストしよう。

alias sail='[ -f sail ] && bash sail || bash vendor/bin/sail'

⑤記述が終わったら、 ESCキーで INSERTモードを終了しよう(INSERTの文字が消える)。

⑥記述内容を確認し、問題がなければ、 :wqでvimを離脱しよう(記述に誤りがあるので保存したくない場合は :qで保存せずに離脱可能)。

⑦今度は下記コマンドを実行し .bash_profileファイルを開こう。

vi ~/.bash_profile

⑧そこに下記の記述を書き加える。

source ~/.bashrc

これでターミナルを再起動すると、上で加えたaliasが使えるようになっているはず(vi ~/.bashrc でファイルを開いて先ほど書き加えたaliasがちゃんと残っているか確認してみよう)

問題なければ、今後起動するときは “sail up“ 停止するときは ctrl + c( “sail stop“)

参考
https://laravel.com/docs/9.x
https://laravel.com/docs/9.x/sail

コメント

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