https://blog.youkuaiyun.com/qq_35679620/article/details/110953207
FROM centos:7
MAINTAINER 915177778@qq.com
#切换系统时间
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
#安装wget php74
RUN yum -y install wget \
&& wget https://www.php.net/distributions/php-7.4.0.tar.gz
#安装系统所需扩展
RUN yum -y install gcc \
gcc-c++ \
make \
libxml2-devel \
openssl-devel \
curl-devel \
libjpeg-devel \
libpng-devel \
libicu-devel \
sqlite-devel \
freetype-devel \
openldap-devel \
openldap \
openldap-devel
#解压php
RUN tar -zxvf php-7.4.0.tar.gz
#进入工作目录
WORKDIR /php-7.4.0
#编译安装及php扩展安装
RUN ./configure --prefix=/usr/local/php \
--with-config-file-scan-dir=/usr/local/php/etc/ \
--with-mhash --with-pdo-mysql \
--with-openssl --with-mysqli \
--with-iconv --with-zlib \
--enable-inline-optimization \
--disable-debug --disable-rpath \
--enable-shared --enable-xml \
--enable-bcmath --enable-shmop \
--enable-sysvsem --enable-sysvshm --enable-mbregex \
--enable-ftp \
--enable-pcntl --enable-sockets \
--with-xmlrpc --enable-soap \
--without-pear --with-gettext \
--enable-session --with-curl \
--enable-opcache --enable-fpm \
--without-gdbm --enable-fast-install \
--disable-fileinfo
RUN make && make install
#配置文件修改
RUN cp /php-7.4.0/php.ini-production /usr/local/php/etc/php.ini
ADD php-fpm.conf /usr/local/php/etc/
ADD www.conf /usr/local/php/etc/php-fpm.d/
#添加www组,www可以运行,'www'在www下
RUN groupadd www \
&& useradd -g www www
#解压nginx
RUN wget http://nginx.org/download/nginx-1.17.6.tar.gz
RUN tar -zxvf nginx-1.17.6.tar.gz
#进入nginx
WORKDIR nginx-1.17.6
#编译安装
RUN ./configure \
--prefix=/usr/local/nginx \
--with-http_stub_status_module \
--with-http_ssl_module \
--with-http_realip_module \
--with-http_sub_module \
--with-http_gzip_static_module \
--with-pcre
RUN make && make install
#修改配置文件
ADD nginx.conf /usr/local/nginx/conf/
WORKDIR /
#创建nginx的工作目录和配置目录
RUN mkdir www \
&& chmod -R 777 www \
&& cd www \
&& mkdir web \
&& mkdir conf
#进入代码文件目录
WORKDIR /www/web
RUN mkdir default
#进入nginx配置目录
WORKDIR /www/conf
RUN mkdir vhosts
#修改站点配置
ADD default.conf /www/conf/vhosts/
#代码复制到文件目录(demo文件夹下是你的代码文件)
ADD demo /www/web/default/
#切换工作目录
WORKDIR /var
#给/run/php-fpm权限 php-fpm启动时会生产在此目录下
RUN chmod -R 777 run
#WORKDIR /var/run
#RUN mkdir php-fpm
WORKDIR /run
RUN mkdir php-fpm
RUN chmod -R 777 /run/php-fpm
#docker容器里的服务不能后台运行(不能使用sevice),使用supervisord控制开机启动
RUN rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
RUN rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
#安装supervisor
RUN yum -y install supervisor
#修改配置,最后两行是运行php-fpm和nginx
COPY supervisord.conf /etc/
#启动supervisord
CMD /usr/bin/supervisord -c /etc/supervisord.conf