cat dockerfilephp
#使用php-fpm:5.6基础镜像
FROM php:5.6-fpm
MAINTAINER wfymysql#使用apt-get源(docker官方镜像系统大多为debian或者Ubuntu,因此使用apt-get安装)
COPY conf/sources.list /etc/apt/sources.listnginx#先安装php依赖库和经常使用命令
RUN apt-get update && apt-get install -y \
supervisor cron nginx \
libmagickwand-dev bzip2 libmemcached-dev \
libfreetype6-dev \
libjpeg62-turbo-dev \
libmcrypt-dev libpng-dev \
iproute net-tools telnet wget curl \
&& apt-get clean && rm -r /var/lib/apt/lists/* redis#安装php核心扩展
RUN docker-php-ext-install -j$(nproc) iconv mcryptsql#若是安装的扩展须要自定义配置时
RUN docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
&& docker-php-ext-install -j$(nproc) gddocker#pecl 扩展
RUN docker-php-ext-install bcmath dba exif pdo_mysql bz2 zip mysqlcurl#imagick 扩展
RUN pecl install imagick && docker-php-ext-enable imagickide#memcached 扩展
RUN pecl install memcached-2.2.0 && docker-php-ext-enable memcachedmemcached#redis 扩展
RUN pecl install redis-4.3.0 && docker-php-ext-enable redisphp-fpm#soap 扩展
RUN docker-php-ext-install soap && docker-php-ext-enable soap#配置文件
#php配置文件
ADD conf/php.ini /usr/local/etc/php/php.ini
ADD conf/php-www.conf /usr/local/etc/php-fpm.d/www.conf
ADD conf/php-docker.conf /usr/local/etc/php-fpm.d/docker.conf#nginx配置文件
ADD conf/nginx.conf /etc/nginx/nginx.conf
ADD conf/default.conf /etc/nginx/conf.d/default.conf#crontab配置文件
COPY conf/crontab /var/spool/cron/crontabs/root
RUN chmod 600 /var/spool/cron/crontabs/root#supervisor配置文件
RUN mkdir -p /var/log/supervisor && mkdir -p /var/log/php
ADD conf/supervisord.conf /etc/supervisor/supervisord.conf#时区环境变量
ENV TZ=Asia/Shanghai \
LANG=en_US.UTF-8#开放端口
EXPOSE 80#启动supervisor服务
CMD ["/usr/bin/supervisord","-c","/etc/supervisor/supervisord.conf"]
注:以上的PHP扩展是根据我本身项目须要安装的,若是你想用一样的方式须要根据本身项目环境须要安装便可!