今こそ深堀りする、PHPのDockerイメージを視聴した -phpcon-2021-

  • 投稿者:
  • 投稿カテゴリー:event / PHP

PHP Conference Japan 2021にて、今こそ深堀りする、PHPのDockerイメージを視聴した。その時のメモ。(資料:https://speakerdeck.com/rukiadia/understand-php-docker)

公式イメージを利用すべし

まずは公式イメージを利用すること。
公式イメージタグ一覧から、イメージ選定ポイントは以下となる。

ベースイメージをどうするか

Debian / Alpine Linuxの選択肢があるが Debian が無難。
Alpine Linuxは busybox (組み込み系ディストリビューション)をもとに作成された。イメージサイズは小さいが、他のディストリビューションと比較すると挙動が違ったり互換性に欠ける面があるため、入念な検証が必要。

Webサーバが必要かどうか

Webサーバが不要であれば-cli を利用する。必要であれば-apache を利用する。
※nginxは公式提供されいていないため。その場合は nginx + php-fpm とコンテナが複数必要となる。

PHP-FPMを利用するかどうか

-fpm 系のイメージを利用する。リバースプロキシを用意する必要がある。

CakePHPを動作させるDockefile例

CakePHPを動かす手順のDockerfileについて

FROM php:8.0-fpm

RUN apt update
# 拡張モジュールのビルドに必要なためインストールする。
RUN apt install -y git zip unzip libicu-dev

# 公式の拡張モジュール操作ツールでインストールする。インストールできない拡張モジュールも存在する。
RUN docker-php-ext-install pdo_mysql intl

# install composer
COPY --from=composer:2.0.12 /usr/bin/composer /usr/bin/composer