FROM php:7.2.29-cli-alpine3.11 as build
LABEL maintainer="legend-goat <[email protected]>" version="1.0"
ENV SWOOLE_VERSION 4.5.2
ENV REDIS_VERSION 4.0.2
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 "http://pecl.php.net/get/redis-${REDIS_VERSION}.tgz" -o redis.tgz \
&& curl -SL "http://pecl.php.net/get/xhprof-${XHPROF_VERSION}.tgz" -o xhprof.tgz \
&& curl -SL "https://github.com/swoole/swoole-src/archive/v${SWOOLE_VERSION}.tar.gz" -o swoole.tar.gz \
&& 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 \
&& 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) pdo_mysql \
&& docker-php-ext-install -j$(nproc) bcmath \
&& cd /tmp \
&& mkdir -p swoole \
&& tar -xf swoole.tar.gz -C swoole --strip-components=1 \
&& ( \
cd swoole \
&& phpize \
&& ./configure --enable-async-redis --enable-mysqlnd --enable-coroutine --enable-openssl \
&& make -j$(nproc) && make install \
&& docker-php-ext-enable swoole \
) \
&& 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
CMD ["php", "-v"]
Content type
Image
Digest
sha256:65d9be923…
Size
47.6 MB
Last updated
about 4 years ago
docker pull legendgoat/php7.2-cli:1.0