76 lines
1.7 KiB
Markdown
76 lines
1.7 KiB
Markdown
|
||
* 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
|
||
|
||
``` |