From a4c386699d6a32066bccce1ac2362a50b042093d Mon Sep 17 00:00:00 2001 From: "ry.yamafuji" Date: Thu, 3 Apr 2025 09:04:07 +0900 Subject: [PATCH] =?UTF-8?q?=E3=83=89=E3=82=AD=E3=83=A5=E3=83=A1=E3=83=B3?= =?UTF-8?q?=E3=83=88=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 - docs/docker-php.md | 76 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 76 insertions(+), 1 deletion(-) create mode 100644 docs/docker-php.md diff --git a/.gitignore b/.gitignore index 35bfc4d..e69de29 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +0,0 @@ -docs/ diff --git a/docs/docker-php.md b/docs/docker-php.md new file mode 100644 index 0000000..391b2a0 --- /dev/null +++ b/docs/docker-php.md @@ -0,0 +1,76 @@ + +* php:*-apache サイズ:約350MB以上 +* php:*-cli-alpine サイズ:約350MB以上 +* php:*-fpm-alpine + + +## `php:*-apache + composer`による構築 + +```dockerfile +FROM php:8.3-apache + +# 必要最低限のインストール +RUN apt-get update && apt-get install -y --no-install-recommends \ + libyaml-dev \ + unzip \ + curl \ + && rm -rf /var/lib/apt/lists/* + +# Composerのインストール(公式手順) +COPY --from=composer:latest /usr/bin/composer /usr/bin/composer + +# xdebugのインストール(バージョン指定せず最新版) +RUN pecl install xdebug \ + && docker-php-ext-enable xdebug + +# yaml extensionのインストール +RUN pecl install yaml \ + && docker-php-ext-enable yaml +``` + + +### `PHP-FPM + composer + Nginx`の構成 + +```dockerfile +FROM php:8.3-fpm-alpine + +# 必要パッケージのインストール +RUN apk add --no-cache \ + libyaml-dev \ + imagemagick \ + imagemagick-dev \ + libheif \ + unzip \ + curl \ + autoconf \ + gcc \ + g++ \ + make \ + && pecl install yaml xdebug \ + && docker-php-ext-enable yaml xdebug \ + && apk del autoconf gcc g++ make # ビルド系は後で削除して軽量化 + +# Composerの追加(公式composerイメージから取得) +COPY --from=composer:latest /usr/bin/composer /usr/bin/composer + +WORKDIR /var/www/html +``` + + +### GDの対応 + +```Dockerfile +# 必要パッケージを追加 +RUN apk add --no-cache \ + libpng-dev \ + libjpeg-turbo-dev \ + freetype-dev \ + ... + +# GDをビルドして有効化(enable不要!) +RUN docker-php-ext-configure gd \ + --with-freetype \ + --with-jpeg \ + && docker-php-ext-install gd + +``` \ No newline at end of file