【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镜像已经完成了。