Dockerを学ぶべきか
- 導入現場は50%未満くらい。でもモダンな開発現場だともっと高い
- 便利だし、技術的加点にもなるので学ぶのはオススメ
Dockerとは
Dockerは、コンテナ技術を利用してアプリケーションを効率的にデプロイ、スケール、および管理するためのプラットフォームです。Dockerは、ソフトウェアを「コンテナ」と呼ばれる独立したユニットにパッケージ化します。このコンテナは、アプリケーションコード、ランタイム、ライブラリ、および依存関係をすべて含んでおり、どの環境でも一貫して動作します
例えば
複数人で開発する際に、メンバー間や本番環境で、開発環境(PHPのバージョンやDB、OS等)が異なると上手く動かない。
→ Dockerを使えば、コンテナにまとめて同じ環境を渡すことで簡単に環境を揃えることができる!
重要な5つの用語
- Dockerイメージ
コンテナという料理を作るために必要なレシピのようなもの - Dockerコンテナ
PCの中で動く仮想環境の空間。この中にプリケーションを動かす環境を作る - Dockerレポジトリ
Dockerのイメージが並んでいる棚。Webプラットフォーム
ここから必要なものをとってきてイメージを定義する - Docker Compose
複数のDockerコンテナを1度に操作できるツール。
複数コンテナを作り、それらを連携しながらアプリケーションを作っていく - Dockerボリューム
データを入れて保存しておける領域。データを永続化・コンテナ間で共有できる
今回は、比較的手軽に環境構築できる「Laravel Sail」を使う
Laravel Sailとは、ターミナルでコマンド実行するだけで、DockerでLaravel環境を一発で作ってくれる便利なコマンドラインツール。
- 事前にDocker をインストールする必要がある
- さらにWindowsの場合は「WSL」というLinux実行環境も必要
→詳細はこちら
環境構築手順
※環境:Windows、Laravel10
-
WSL(Windows上でLinuxを動作させるための実行環境)の導入
-
Docker Desktopのインストールし、起動
-
Laravel Sailをインストール
3-1. Laravelの公式サイトを開く
3-2. Installation > Sail on Windowsの箇所に記載されているコマンドをコピー(プロジェクト名は適宜変更)
curl -s https://laravel.build/プロジェクト名 | bash →これだと最新バージョンになってしまう
composer create-project laravel/laravel プロジェクト名 --prefer-dist "10.*"
3-3. Ubuntuを開き、ホームディレクトリ(home\ユーザ名)に移動
3-4. 上記コマンドでLaravelプロジェクトを作成
→ プロジェクトの作成が始まるのでしばらく待つ
- 下記コマンドで、Laravel Sailを使用してDockerコンテナを起動
./vendor/bin/sail up
- http://localhost/ にアクセスしてLaravel起動画面が表示されていれば成功
【番外編】Breezeでログイン画面を簡単に作成
Breezeライブラリのインストール
./vendor/bin/sail composer require laravel/breeze --dev
プロジェクトにBreeze(認証機能など)を導入
./vendor/bin/sail artisan breeze:install