Docker

LaravelをDockerで構築する方法解説【docker-composeで簡単起動】

PCでサーバーを構築

こんにちは、フルスタックエンジニアのryuです。

今回の記事はLaravelをDockerで構築する方法を解説します。docker-composeコマンドを使用して簡単にLaravel環境を構築します。すでにDockerHubにあるLaravelのイメージを使用して、面倒な設定をしないで構築してみましょう。

サーバー構築を実践で身につけるInfraAcademy

※本ページには、プロモーション・アフィリエイトリンクが含まれています

LaravelをDockerで構築する方法解説

Laravelの環境構築が面倒・・・

「Laravelの環境構築が面倒・・・」とお困りの方へ、今回の記事はLaravelをDockerで構築する方法を解説します。

DockerHubにあるLaravelのイメージを使って、簡単に構築してみましょう!

DockerHub:bitnami/laravel – Docker Image | Docker Hub

Dockerの環境をまだインストールしていない方はこちらの記事を参考にしてください。

docker-composeでLaravelを起動する

では、早速やっていきましょう。手順は以下の通りです。

  • docker-compose.ymlの作成
  • docker-compose upで起動

詳しく解説します。

docker-compose.ymlの作成

まず、docker-compose.ymlファイルの作成を行います。LaravelのイメージとDBのイメージを記述します。以下の通りです。

version: '2'

services:
  mariadb:
    image: docker.io/bitnami/mariadb:10.2
    environment:
      # ALLOW_EMPTY_PASSWORD is recommended only for development.
      - ALLOW_EMPTY_PASSWORD=yes
      - MARIADB_USER=my_user
      - MARIADB_DATABASE=my_database
      - MARIADB_PASSWORD=my_password
    ports:
      - 3306:3306

  myapp:
    tty: true
    image: docker.io/bitnami/laravel:8
    environment:
      - DB_HOST=mariadb
      - DB_USERNAME=my_user
      - DB_DATABASE=my_database
      - DB_PASSWORD=my_password
    depends_on:
      - mariadb
    ports:
      - 3000:3000
    volumes:
      - ./:/app
   

こちらのファイルは以下のコマンドでもダウンロードすることができます。

curl -LO https://raw.githubusercontent.com/bitnami/bitnami-docker-laravel/master/docker-compose.yml

docker-compose upで起動

最後にLaravelを起動してみましょう。コマンドは以下の通りです。

docker-compose up -d

コマンドを実行して3分程度まってから、「http://localhost:3000」にアクセスすると、Laravelのデフォルトページにアクセスすることができます。

Laravelのデフォルトページ

起動がうまくできなかった場合は、ログの確認をしてみましょう。

docker logs [コンテナ名]

LaravelをDockerで構築する方法まとめ

今回の記事では、LaravelをDockerで構築する方法を解説しました。すでにあるイメージを使うと、環境構築が楽ですね。Dockerは環境構築に便利なので覚えておきましょう!

当ブログでは、このようなITに関連する技術を発信しているので、興味のある方は是非ご覧ください。

ABOUT ME
ryu@InfraAcademyというインフラ学習サービス運営
大手企業→上場ベンチャー→スタートアップでエンジニアをしていました。 インフラエンジニア歴10年以上。 Linuxやネットワークの学習ができるサービスInfraAcademyを運営中。
RELATED POST