PHP入門:ビルトインサーバの構築 -Vol.2-

スポンサーリンク
PHP入門:ビルトインサーバの構築 -Vol.2- 環境構築
PHP入門:ビルトインサーバの構築 -Vol.2-
この記事は約4分で読めます。
よっしー
よっしー

こんにちは。よっしーです(^^)

今日は、Docker環境でPHPのビルトインサーバの実行環境を構築する方法について解説しています。

スポンサーリンク

背景

PHPのビルトインサーバを利用した環境を構築する機会がありましたので、その時の内容を備忘として記事に残しました。

前回の記事は、ビルトインサーバについて解説しています。

ファイル一覧

下記のファイルを作成しました。この記事では、php_server/Dockerfile と compose.yml について解説しています。

        new file:   Makefile
        new file:   compose.yml
        new file:   php_server/Dockerfile
        new file:   php_server/src/router.php

php_server/Dockerfile

FROM php:8.3.4-cli

このコードは Dockerfile と呼ばれるファイルの一部です。Dockerfileは、Dockerコンテナをビルドするための指示を含むテキストファイルです。具体的には、イメージのベースとなるDockerイメージを指定し、その上に必要なパッケージや設定を追加する手順を記述します。

  1. FROM php:8.3.4-cli:これはDockerイメージのベースとなるものを指定しています。php:8.3.4-cliは、PHP 8.3.4のコマンドラインインターフェース(CLI)バージョンを使用することを意味します。つまり、このDockerイメージはPHPのCLIツールを実行するために使用されます。

このコードは、PHPのCLI環境を含むDockerコンテナを構築するためのステップの一部です。

compose.yml

version: '3.8'

services:

  php_server:
    build: ./php_server
    container_name: php_server
    working_dir: /work
    volumes:
      - ./php_server/src:/work
    ports:
      - 8080:8080
    command:
      php -S 0.0.0.0:8080 router.php
    networks:
      - net

networks:
  net:

このコードは Docker Compose の設定ファイルです。Docker Composeは、複数のDockerコンテナを一括で管理するためのツールで、複雑なアプリケーションを構築する際に便利です。

それでは、このコードの意味を解説します:

  1. version: '3.8':これはDocker Composeファイルのバージョンを指定しています。このファイルはバージョン3.8の構文を使用していることを示しています。
  2. services::ここからがサービスの定義です。サービスはDockerコンテナのグループで、それぞれのサービスは個別のコンテナとして実行されます。
  3. php_server::これはサービスの名前です。php_serverという名前のサービスを定義しています。
    • build: ./php_server:このサービスは./php_serverディレクトリ内のDockerイメージをビルドします。
    • container_name: php_server:コンテナの名前をphp_serverに設定します。
    • working_dir: /work:コンテナ内の作業ディレクトリを/workに設定します。
    • volumes::ホストマシンのディレクトリとコンテナのディレクトリをマウントします。この例では、ホストの./php_server/srcディレクトリをコンテナの/workディレクトリにマウントしています。
    • ports::ホストとコンテナのポートをマッピングします。この例では、ホストの8080ポートをコンテナの8080ポートにマッピングしています。
    • command::コンテナが起動した際に実行されるコマンドを指定します。この例では、php -S 0.0.0.0:8080 router.phpというコマンドを実行しています。
    • networks::コンテナが所属するネットワークを指定します。この例では、netという名前のネットワークに所属させています。
  4. networks::ネットワークの定義を行います。この例では、netという名前のネットワークを定義しています。

このDocker Composeファイルは、php_serverという名前のコンテナをビルドし、指定された設定で実行するためのものです。

おわりに

今日は、Docker環境でPHPのビルトインサーバの実行環境を構築する方法について解説しました。

よっしー
よっしー

何か質問や相談があれば、コメントをお願いします。また、エンジニア案件の相談にも随時対応していますので、お気軽にお問い合わせください。

それでは、また明日お会いしましょう(^^)

コメント

タイトルとURLをコピーしました