我的 dockerfile 文件如下
FROM php:7.1.8-apache
ENV TZ=Asia/Shanghai
ENV APACHE_LOG_DIR /var/log/apache2_log
COPY sources.list /etc/apt/sources.list
RUN apt-get update && apt-get install -y \
libfreetype6-dev \
libjpeg62-turbo-dev \
libmcrypt-dev \
libpng12-dev \
libpq-dev \
g++ \
libicu-dev \
libxml2-dev \
&& docker-php-ext-install -j$(nproc) iconv mcrypt \
&& docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
&& docker-php-ext-install -j$(nproc) gd \
&& docker-php-ext-install mbstring \
&& docker-php-ext-install zip \
&& docker-php-ext-install pdo pdo_mysql mysqli opcache \
&& pecl install xdebug \
&& docker-php-ext-enable xdebug \
&& a2enmod rewrite
RUN a2enmod ssl
这个 dockerfile 文件 build 完之后是没有 redis 扩展的
我们在 dockerfile 文件中最后加入
RUN pecl install -o -f redis \
&& rm -rf /tmp/pear \
&& docker-php-ext-enable redis
加入后完整的 dockerfile 文件如下:
FROM php:7.1.8-apache
ENV TZ=Asia/Shanghai
ENV APACHE_LOG_DIR /var/log/apache2_log
COPY sources.list /etc/apt/sources.list
RUN apt-get update && apt-get install -y \
libfreetype6-dev \
libjpeg62-turbo-dev \
libmcrypt-dev \
libpng12-dev \
libpq-dev \
g++ \
libicu-dev \
libxml2-dev \
&& docker-php-ext-install -j$(nproc) iconv mcrypt \
&& docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
&& docker-php-ext-install -j$(nproc) gd \
&& docker-php-ext-install mbstring \
&& docker-php-ext-install zip \
&& docker-php-ext-install pdo pdo_mysql mysqli opcache \
&& pecl install xdebug \
&& docker-php-ext-enable xdebug \
&& a2enmod rewrite
RUN a2enmod ssl
RUN pecl install -o -f redis \
&& rm -rf /tmp/pear \
&& docker-php-ext-enable redis
重新 build
重新访问 phpinfo