Update Dockerfile
This commit is contained in:
1 parent
8dbff4da12
commit
7552f74b91
1 file changed
+34
-12
+34
-12
@@ -1,5 +1,9 @@
|
|||||||
# 使用 php:8.2-fpm 镜像作为基础
|
# 设置 PHP 版本作为构建参数
|
||||||
FROM php:8.2-fpm
|
ARG PHP_VERSION
|
||||||
|
FROM php:${PHP_VERSION}-fpm
|
||||||
|
|
||||||
|
# 设置环境变量
|
||||||
|
ENV DEBIAN_FRONTEND=noninteractive
|
||||||
|
|
||||||
# 更新包管理器并安装必要的依赖
|
# 更新包管理器并安装必要的依赖
|
||||||
RUN apt-get update && apt upgrade -y && apt-get install -y \
|
RUN apt-get update && apt upgrade -y && apt-get install -y \
|
||||||
@@ -33,22 +37,40 @@ RUN apt-get update && apt upgrade -y && apt-get install -y \
|
|||||||
&& docker-php-ext-install -j$(nproc) gd pdo pdo_mysql mysqli zip intl exif ldap bcmath opcache bz2 gettext sockets \
|
&& docker-php-ext-install -j$(nproc) gd pdo pdo_mysql mysqli zip intl exif ldap bcmath opcache bz2 gettext sockets \
|
||||||
&& docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu/ \
|
&& docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu/ \
|
||||||
&& docker-php-ext-install -j$(nproc) ldap \
|
&& docker-php-ext-install -j$(nproc) ldap \
|
||||||
&& pecl install imagick swoole memcached redis \
|
&& pecl install imagick memcached redis \
|
||||||
&& docker-php-ext-enable imagick swoole memcached redis
|
&& docker-php-ext-enable imagick memcached redis
|
||||||
|
|
||||||
# 安装 mcrypt 扩展
|
# 安装 mcrypt 扩展
|
||||||
RUN pecl install mcrypt-1.0.7 \
|
RUN if [ "${PHP_VERSION}" = "8.2" ]; then \
|
||||||
&& docker-php-ext-enable mcrypt
|
pecl install mcrypt-1.0.7 && docker-php-ext-enable mcrypt \
|
||||||
|
elif [ "${PHP_VERSION}" = "7.4" ]; then \
|
||||||
|
pecl install mcrypt-1.0.4 && docker-php-ext-enable mcrypt; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 安装 swoole 扩展
|
||||||
|
RUN if [ "${PHP_VERSION}" = "8.2" ]; then \
|
||||||
|
pecl install swoole && docker-php-ext-enable swoole; \
|
||||||
|
elif [ "${PHP_VERSION}" = "7.4" ]; then \
|
||||||
|
pecl install swoole-4.8.11 && docker-php-ext-enable swoole; \
|
||||||
|
fi
|
||||||
|
|
||||||
# 安装 SourceGuardian 扩展
|
# 安装 SourceGuardian 扩展
|
||||||
RUN curl -L -o /tmp/loaders.linux-x86_64.tar.gz https://www.sourceguardian.com/loaders/download/loaders.linux-x86_64.tar.gz \
|
RUN if [ "${PHP_VERSION}" = "8.2" ]; then \
|
||||||
&& tar -zxvf /tmp/loaders.linux-x86_64.tar.gz -C /tmp/ \
|
curl -L -o /tmp/loaders.linux-x86_64.tar.gz https://www.sourceguardian.com/loaders/download/loaders.linux-x86_64.tar.gz \
|
||||||
&& cp /tmp/ixed.8.2.lin /usr/local/lib/php/extensions/no-debug-non-zts-20220829/ \
|
&& tar -zxvf /tmp/loaders.linux-x86_64.tar.gz -C /tmp/ \
|
||||||
&& echo "zend_extension=ixed.8.2.lin" > /usr/local/etc/php/conf.d/sourceguardian.ini \
|
&& cp /tmp/ixed.8.2.lin /usr/local/lib/php/extensions/no-debug-non-zts-20220829/ \
|
||||||
&& rm /tmp/loaders.linux-x86_64.tar.gz
|
&& echo "zend_extension=ixed.8.2.lin" > /usr/local/etc/php/conf.d/sourceguardian.ini \
|
||||||
|
&& rm -rf /tmp/loaders.linux-x86_64.tar.gz; \
|
||||||
|
elif [ "${PHP_VERSION}" = "7.4" ]; then \
|
||||||
|
curl -L -o /tmp/loaders.linux-x86_64.tar.gz https://www.sourceguardian.com/loaders/download/loaders.linux-x86_64.tar.gz \
|
||||||
|
&& tar -zxvf /tmp/loaders.linux-x86_64.tar.gz -C /tmp/ \
|
||||||
|
&& cp /tmp/ixed.7.4.lin /usr/local/lib/php/extensions/no-debug-non-zts-20190902/ \
|
||||||
|
&& echo "zend_extension=ixed.7.4.lin" > /usr/local/etc/php/conf.d/sourceguardian.ini \
|
||||||
|
&& rm -rf /tmp/loaders.linux-x86_64.tar.gz; \
|
||||||
|
fi
|
||||||
|
|
||||||
# 配置 PHP 上传限制和内存限制
|
# 配置 PHP 上传限制和内存限制
|
||||||
RUN echo "upload_max_filesize=50M\n post_max_size=50M" > /usr/local/etc/php/conf.d/uploads.ini \
|
RUN echo "upload_max_filesize=80M\n post_max_size=100M" > /usr/local/etc/php/conf.d/uploads.ini \
|
||||||
&& echo "memory_limit=256M" > /usr/local/etc/php/conf.d/memory.ini
|
&& echo "memory_limit=256M" > /usr/local/etc/php/conf.d/memory.ini
|
||||||
|
|
||||||
# 清理包缓存和临时文件
|
# 清理包缓存和临时文件
|
||||||
|
|||||||
Reference in new issue
Block a user