JavaScriptを有効にしてください

LaravelとDocker:初心者向けの簡単セットアップガイド

 · 

LaravelとDocker:初心者向けの簡単セットアップガイド

Dockerは、アプリケーションの開発、配布、実行を簡単にするコンテナプラットフォームです。
Laravel開発にDockerを使用することで、環境設定の煩雑さを解消し、どこでも一貫した開発環境を保つことができます。
この記事では、Dockerを使ってLaravelを始める方法を初心者にも分かりやすく説明します。

Dockerとは?

Dockerは、アプリケーションとその依存関係をコンテナという形でパッケージ化します。
これにより、異なる環境間でのアプリケーションの実行を一貫して行えるようになります。

LaravelのDocker環境の構築

必要なツール

  • Docker Desktopのインストール
  • Docker Compose(Docker Desktopに含まれています)

Laravelプロジェクトのセットアップ

1.Docker Composeファイルの作成

まず、PHPはComposerのインストールが必要なため、公式イメージをベースにしてComposerをインストールするDockerfileを作成します。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
FROM php:8.2-fpm

RUN apt-get update && apt-get install -y \
    unzip \
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/*
# Composerのインストール
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer

# Composerのグローバルベンダーバイナリのパスを取得し、PATH環境変数に追加
ENV PATH="${PATH}:/root/.composer/vendor/bin"

次にdocker-compose.ymlファイルをプロジェクトのルートに作成し、必要なサービス(例: PHP、MySQL、Nginx)を定義します。
appの部分がPHPなので上記で作成したdockerfileを指定します。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
version: '3'
services:
  web:
    image: nginx:alpine
    ports:
      - "8080:80"
    volumes:
      - .:/var/www/html
  app:
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - "8000:8000"
    volumes:
      - .:/var/www/html
  db:
    image: mysql:8.2
    environment:
      MYSQL_DATABASE: laravel
      MYSQL_ROOT_PASSWORD: your_password

※MYSQL_ROOT_PASSWORDは適宜書き換えて下さい

この時点のファイル構成は下記のようになっています。

1
2
3
4
~/app/laravel-test$ tree
.
├── docker-compose.yml
└── dockerfile

2.Docker Composeを使ってコンテナを起動

コマンドラインで以下のコマンドを実行し、Docker Composeを使用してコンテナを起動します。

1
docker-compose up -d

3.Laravelをインストール

1
docker-compose exec app composer global require laravel/installer

このコマンドで、コンテナ内にLaravelをインストールします。

4.Laravelプロジェクトの作成

Laravelプロジェクトを作成します。これもコンテナ内で行うことができます。

1
docker-compose exec app laravel new blog

上記コマンドを実行すると選択肢が出ますが、
とりあえず、
No starter kit
PHPUnit
MySQL
を選択してみましょう。

5.アプリケーションのアクセス

1
docker-compose exec app php blog/artisan serve --host=0.0.0.0

上記コマンドを実行後、ブラウザでhttp://localhost:8000にアクセスするとコンテナ内のLaravelアプリケーションにアクセスできます。

http://0.0.0.0:8000にアクセスしても繋がらないのでご注意ください。

まとめ

Dockerを使用することで、Laravelの開発環境を素早く簡単に構築できます。
これにより、開発プロセスがスムーズになり、環境依存の問題を避けることができます。
このガイドが、LaravelとDockerの世界への第一歩となることを願っています。


スポンサーリンク

共有

もふもふ
著者
もふもふ
プログラマ。汎用系→ゲームエンジニア→Webエンジニア→QAエンジニア