0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Laravelの既存プロジェクトでDockerを使いたい

Posted at

導入

本記事では、既存の Laravel プロジェクトに Docker を導入する手順 を解説します。
「Docker を使った環境構築に興味がある方」や「とりあえず Laravel を Docker で動かしたい方」の参考になれば幸いです。

現在、私の開発環境は Windows です。
なお、本記事では WSL2 を使用して Docker を動かしている ことを前提にしています。
(WSL2 の導入がまだの方は、WSL2 の公式ドキュメントを参照してください。)
環境構築は以下の手順で進めることが出来ます。

1.DockerDesktopのインストール

https://app.docker.com/
こちらのリンクにアクセスしDockerDesktopをダウンロードしインストールしてください。(無料版を使っています。)
Dockerのインストールが完了したかどうかを確認してみます。
Windowsのpowershellを用いて以下のコマンドを実行します。

powershell 
docker --version

実行例:以下のようにバージョンが出力されればインストールはできています。

powershell 
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のディストリビューションの一覧とその詳細を確認します。以下のコマンドを実行してください。

powershell 
wsl --list --verbose

出力例

powershell 
* Ubuntu-20.04      Running         2
  docker-desktop    Running         2

上の出力結果がStoppedになっていたり、Versionが1になっていたりする場合はWSLを起動したり、バージョンを2に変更したりするなどいろいろ試してみてください。

4.LaravelをDockerで動かすための準備

まず以下のコマンドでWSLを起動します。

powershell 
wsl

次に対象のプロジェクトのディレクトリに移動した後、以下のコマンドを実行しLaravel Sailをインストールしていきます。
(SailとはLaravelで簡単にDockerを使えるようにするツールです。)
まず、以下のコマンドでLaravelのプロジェクトにSailを追加します。

bash
composer require laravel/sail --dev
次に以下のコマンドでSailのDocker環境の設定ファイルであるdocker-compose.ymlを作成します。
bash
php artisan sail:install

ここで他のサービスをインストールするか問われます。私はmysqlのみ選択しました。
以上でインストールが完了です。

4.Dockerの起動

以下のコマンドを実行しDockerを起動します。

bash
./vendor/bin/sail up -d

もちろんアプリ側でコンテナを起動しても問題ありませんが、開発環境ではコマンド実行の方がいいと思います。

まとめ

以上により既存のプロジェクトにDockerを導入することが出来ました。
記事をごらんいただきありがとうございましt

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?