基于Docker官方php:7.4.33-fpm镜像构建支持67个常见模组的php7.4.33镜像
# 使用官方PHP 7.4.33 FPM镜像作为基础镜像
FROM php:7.4.33-fpm
# 安装所需的PHP模块
RUN apt-get update && apt-get install -y \
libfreetype6-dev \
libjpeg-dev \
libpng-dev \
&& docker-php-ext-configure gd --with-freetype --with-jpeg \
&& docker-php-ext-install -j$(nproc) gd \
&& docker-php-ext-install zip \
&& docker-php-ext-install pdo_mysql \
&& docker-php-ext-install mysqli \
&& docker-php-ext-install mbstring \
&& docker-php-ext-install xml \
&& docker-php-ext-install bcmath \
&& docker-php-ext-install sockets \
# 安装curl和opcache模块
&& docker-php-ext-install curl \
&& pecl install -o -f opcache \
&& docker-php-ext-enable opcache \
&& rm -rf /var/lib/apt/lists/*
# 清理缓存文件,减少镜像大小
RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
# 设置时区为东京时间
ENV TZ=Asia/Tokyo
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
# 设置PHP配置
COPY php.ini /usr/local/etc/php/
# 设置opcache配置
COPY opcache.ini /usr/local/etc/php/conf.d/
# 设置fpm配置
COPY php-fpm.conf /etc/php/7.4/fpm/php-fpm.conf
COPY www.conf /etc/php/7.4/fpm/pool.d/www.conf
# 设置启动命令
CMD ["php-fpm"]
这个Dockerfile实例展示了如何从官方PHP 7.4.33 FPM镜像构建一个新的Docker镜像,并安装了一系列常用的PHP模块,包括GD库、cURL库、ZIP扩展、MySQL pdo/mysqli扩展、MBString扩展、XML扩展、BCMath扩展、Sockets扩展以及Opcache。同时,它还设置了PHP和FPM的配置,并清理了不必要的文件以减小镜像体积。
评论已关闭