導入
本記事では、既存の Laravel プロジェクトに Docker を導入する手順 を解説します。
「Docker を使った環境構築に興味がある方」や「とりあえず Laravel を Docker で動かしたい方」の参考になれば幸いです。
現在、私の開発環境は Windows です。
なお、本記事では WSL2 を使用して Docker を動かしている ことを前提にしています。
(WSL2 の導入がまだの方は、WSL2 の公式ドキュメントを参照してください。)
環境構築は以下の手順で進めることが出来ます。
1.DockerDesktopのインストール
https://app.docker.com/
こちらのリンクにアクセスしDockerDesktopをダウンロードしインストールしてください。(無料版を使っています。)
Dockerのインストールが完了したかどうかを確認してみます。
Windowsのpowershellを用いて以下のコマンドを実行します。
docker --version
実行例:以下のようにバージョンが出力されればインストールはできています。
Docker version 27.5.1, build xxxxxxx
2.WSL Integrationの設定
DockerはLinux上で動かすことが前提のソフトウェアツールなので、Linuxの環境が必要になります。中でもWSL2を使う設定が「WSL Integration」です。
これはDockerのアプリ画面で設定します。
「設定」⇒「Resources」⇒「WSL integration」に移動し、Ubuntu-20.04を有効にします。その後Apply&restartをクリックして設定が完了です。
3.WSL2が有効になっているかの確認
そこで現在Linuxのディストリビューションの一覧とその詳細を確認します。以下のコマンドを実行してください。
wsl --list --verbose
出力例
* Ubuntu-20.04 Running 2
docker-desktop Running 2
上の出力結果がStoppedになっていたり、Versionが1になっていたりする場合はWSLを起動したり、バージョンを2に変更したりするなどいろいろ試してみてください。
4.LaravelをDockerで動かすための準備
まず以下のコマンドでWSLを起動します。
wsl
次に対象のプロジェクトのディレクトリに移動した後、以下のコマンドを実行しLaravel Sailをインストールしていきます。
(SailとはLaravelで簡単にDockerを使えるようにするツールです。)
まず、以下のコマンドでLaravelのプロジェクトにSailを追加します。
composer require laravel/sail --dev
次に以下のコマンドでSailのDocker環境の設定ファイルであるdocker-compose.ymlを作成します。
php artisan sail:install
ここで他のサービスをインストールするか問われます。私はmysqlのみ選択しました。
以上でインストールが完了です。
4.Dockerの起動
以下のコマンドを実行しDockerを起動します。
./vendor/bin/sail up -d
もちろんアプリ側でコンテナを起動しても問題ありませんが、開発環境ではコマンド実行の方がいいと思います。
まとめ
以上により既存のプロジェクトにDockerを導入することが出来ました。
記事をごらんいただきありがとうございましt