FROM php:7.2.29-fpm-alpine3.11 as build
LABEL maintainer="legend-goat <[email protected]>" version="1.0"
ENV NGINX_VERSION 1.18.0
ENV REDIS_VERSION 4.0.2
ENV PCRE_VERSION 8.45
ENV ZLIB_VERSION 1.2.11
ENV XHPROF_VERSION 2.3.5
#Timezone and lib
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories \
&& apk add -U tzdata \
&& cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
&& apk del tzdata
#Extension
RUN set -ex \
&& mkdir -p /data/log \
&& mkdir -p /data/xhprof \
&& chmod -R 777 /data/log \
&& chmod -R 777 /data/xhprof \
&& cd /tmp \
&& curl -SL "https://nginx.org/download/nginx-${NGINX_VERSION}.tar.gz" -o nginx.tar.gz \
&& curl -SL "http://pecl.php.net/get/redis-${REDIS_VERSION}.tgz" -o redis.tgz \
&& curl -SL "https://ftp.exim.org/pub/pcre/pcre-${PCRE_VERSION}.tar.gz" -o pcre.tar.gz \
&& curl -SL "https://zlib.net/fossils/zlib-${ZLIB_VERSION}.tar.gz" -o zlib.tar.gz \
&& curl -SL "http://pecl.php.net/get/xhprof-${XHPROF_VERSION}.tgz" -o xhprof.tgz \
&& ls -alh \
&& apk update \
&& apk add --no-cache --virtual .phpize-deps $PHPIZE_DEPS \
&& apk add --no-cache libaio linux-headers libaio-dev openssl-dev libstdc++ librdkafka-dev \
freetype-dev libpng-dev libjpeg-turbo-dev libxslt-dev bzip2-dev gettext-dev icu-dev graphviz \
&& echo "no" | pecl install redis.tgz \
&& docker-php-ext-enable redis \
&& pecl install xhprof.tgz \
&& docker-php-ext-enable xhprof \
&& tar -xf xhprof.tgz -C /data/xhprof --strip-components=1 \
&& echo "xhprof.output_dir=/data/log/xhprof" >> /usr/local/etc/php/conf.d/docker-php-ext-xhprof.ini \
&& docker-php-ext-install -j$(nproc) sysvmsg \
&& docker-php-ext-install -j$(nproc) sysvsem \
&& docker-php-ext-install -j$(nproc) sysvshm \
&& docker-php-ext-install -j$(nproc) pcntl \
&& docker-php-ext-install -j$(nproc) shmop \
&& docker-php-ext-install -j$(nproc) pdo_mysql \
&& docker-php-ext-install -j$(nproc) mysqli \
&& docker-php-ext-install -j$(nproc) bcmath \
&& docker-php-ext-install -j$(nproc) exif \
&& docker-php-ext-install -j$(nproc) calendar \
&& docker-php-ext-install -j$(nproc) iconv \
&& docker-php-ext-install -j$(nproc) xsl \
&& docker-php-ext-install -j$(nproc) opcache \
&& docker-php-ext-install -j$(nproc) sockets \
&& docker-php-ext-install -j$(nproc) wddx \
&& docker-php-ext-install -j$(nproc) xmlrpc \
&& docker-php-ext-install -j$(nproc) soap \
&& docker-php-ext-install -j$(nproc) gd \
&& docker-php-ext-install -j$(nproc) zip \
&& docker-php-ext-install -j$(nproc) bz2 \
&& docker-php-ext-install -j$(nproc) gettext \
&& docker-php-ext-install -j$(nproc) intl \
&& cd /tmp \
&& mkdir -p pcre \
&& tar -xf pcre.tar.gz -C pcre --strip-components=1 \
&& ( \
cd pcre \
&& ./configure && make -j$(nproc) && make install \
)\
&& cd /tmp \
&& mkdir -p zlib \
&& tar -xf zlib.tar.gz -C zlib --strip-components=1 \
&& ( \
cd zlib \
&& ./configure && make -j$(nproc) && make install \
)\
&& cd /tmp \
&& mkdir -p nginx \
&& tar -xf nginx.tar.gz -C nginx --strip-components=1 \
&& ( \
cd nginx \
&& ./configure --prefix=/usr/local/nginx \
--with-http_gzip_static_module \
--with-http_stub_status_module \
--with-file-aio \
--with-http_realip_module \
--with-http_ssl_module \
--with-pcre=/tmp/pcre \
--with-zlib=/tmp/zlib \
&& make -j$(nproc) && make install \
)\
&& apk del .phpize-deps \
&& rm -rf /tmp/* \
&& cp /usr/local/etc/php/php.ini-production /usr/local/etc/php/php.ini \
&& sed -i "s/;date.timezone =/date.timezone = PRC/g" /usr/local/etc/php/php.ini
EXPOSE 80
CMD ["/bin/sh", "-c", "/usr/local/nginx/sbin/nginx && php-fpm -R"]
Content type
Image
Digest
sha256:998e92ff3…
Size
75.4 MB
Last updated
about 4 years ago
docker pull legendgoat/php7.2-fpm:1.0