【Docker学习之六】PHP容器

PHP的容器比较复杂,因为PHP还要安装各种扩展,我们这里以GD、redis为例。

php目录下还准备好了php配置文件php.ini以及php-fpm.conf,基础镜像我们选择的是PHP 5.6-FPM,这同样是一个Debian Jessie镜像。官方比较亲切的在镜像内部准备了一个docker-php-ext-install指令,可以快速安装如GD、PDO等常用扩展。所有支持的扩展名称可以通过在容器内运行docker-php-ext-install获得。

FROM php:5.6-fpm
#复制php和php-fpm配置文件到相应目录
ADD php.ini-development    /usr/local/etc/php/php.ini
ADD php-fpm.conf    /usr/local/etc/php-fpm.conf
#安装扩展所需要的依赖、安装iconv\mycrypt\gd扩展
RUN apt-get update && apt-get install -y \
        libfreetype6-dev \
        libjpeg62-turbo-dev \
        libmcrypt-dev \
        libpng12-dev \
    && docker-php-ext-install iconv mcrypt \
    && docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
    && docker-php-ext-install gd

ENV PHPREDIS_VERSION 2.2.7
#安装redis扩展
RUN curl -L -o /tmp/redis.tar.gz https://github.com/phpredis/phpredis/archive/$PHPREDIS_VERSION.tar.gz \
    && tar xfz /tmp/redis.tar.gz \
    && rm -r /tmp/redis.tar.gz \
    && mv phpredis-$PHPREDIS_VERSION /usr/src/php/ext/redis \
    && docker-php-ext-install redis

WORKDIR /opt
#RUN usermod -u 1000 www-data

VOLUME ["/opt"]

CMD ["php-fpm"]

 安装过程:

OK,现在我们的PHP5.6-fpm镜像已经完成了。

posted @ 2015-12-28 20:19  scofi  阅读(704)  评论(0编辑  收藏  举报