# 从官方基础版本构建
FROM php:8.2-fpm
# 官方版本默认安装扩展:
# Core, ctype, curl, date, dom, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, pdo, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, sodium, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib
# 设置默认时区
ARG timezone
ENV TIMEZONE=${timezone:-"Asia/Shanghai"}
# 更新为国内镜像
#RUN sed -i "s@http://deb.debian.org@http://mirrors.aliyun.com@g" /etc/apt/sources.list
RUN apt-get update && \
# 安装依赖工具和库
apt-get install -y --no-install-recommends \
curl zlib1g-dev libzip-dev libpng-dev libjpeg62-turbo-dev libfreetype6-dev libmagickwand-dev libcurl4-openssl-dev libpq-dev libc-client-dev libkrb5-dev libxslt-dev imagemagick && \
# 设置时区
cp /usr/share/zoneinfo/${TIMEZONE} /etc/localtime && \
echo "${TIMEZONE}" > /etc/timezone && \
echo "[Date]\ndate.timezone=${TIMEZONE}" > /usr/local/etc/php/conf.d/timezone.ini && \
# 清理缓存
rm -rf /var/lib/apt/lists/* && rm -rf /var/cache/apt/*
RUN docker-php-ext-install -j$(nproc) \
# 安装 PHP 拓展
bcmath dba exif gettext intl mysqli pcntl pdo_mysql shmop soap sockets sysvmsg sysvsem sysvshm xsl zip && \
# 安装 IMAP 拓展
docker-php-ext-configure imap --with-kerberos --with-imap-ssl && \
docker-php-ext-install -j$(nproc) imap && \
# 安装 GD 扩展
docker-php-ext-configure gd --with-freetype=/usr/include/ --with-jpeg=/usr/include/ && \
docker-php-ext-install -j$(nproc) gd && \
# 安装 Opcache 扩展
docker-php-ext-configure opcache --enable-opcache && \
docker-php-ext-install -j$(nproc) opcache && \
# 安装 Composer
curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer && \
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ && \
# 安装 Redis MongoDB Swoole 和 Imagick 拓展
pecl install redis mongodb swoole imagick && \
rm -rf /tmp/pear && \
docker-php-ext-enable redis mongodb swoole imagick && \
# 清理缓存
rm -rf /var/lib/apt/lists/* && rm -rf /var/cache/apt/*
# 设置工作目录
WORKDIR /var/www/html
# 暴露端口
EXPOSE 9000
# 启动PHP-FPM
CMD ["/usr/local/sbin/php-fpm"]
# 镜像信息
LABEL maintainer="" \
version="2024.11" \
description="PHP 8.2 镜像"
Content type
Image
Digest
sha256:4af827203…
Size
272 MB
Last updated
almost 2 years ago
docker pull byeyouth/php:8.2