Add dockerfile with php-fpm 7.1
This commit is contained in:
		
							
								
								
									
										160
									
								
								php-fpm/Dockerfile-71
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										160
									
								
								php-fpm/Dockerfile-71
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,160 @@
 | 
				
			|||||||
 | 
					#
 | 
				
			||||||
 | 
					#--------------------------------------------------------------------------
 | 
				
			||||||
 | 
					# Image Setup
 | 
				
			||||||
 | 
					#--------------------------------------------------------------------------
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# To edit the 'php-fpm' base Image, visit its repository on Github
 | 
				
			||||||
 | 
					#    https://github.com/LaraDock/php-fpm
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# To change its version, see the available Tags on the Docker Hub:
 | 
				
			||||||
 | 
					#    https://hub.docker.com/r/laradock/php-fpm/tags/
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					FROM laradock/php-fpm:7.1--0.0 # placeholder. Need change after new image would be built.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					#--------------------------------------------------------------------------
 | 
				
			||||||
 | 
					# Mandatory Software's Installation
 | 
				
			||||||
 | 
					#--------------------------------------------------------------------------
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Mandatory Software's such as ("mcrypt", "pdo_mysql", "libssl-dev", ....)
 | 
				
			||||||
 | 
					# are installed on the base image 'laradock/php-fpm' image. If you want
 | 
				
			||||||
 | 
					# to add more Software's or remove existing one, you need to edit the
 | 
				
			||||||
 | 
					# base image (https://github.com/LaraDock/php-fpm).
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					#--------------------------------------------------------------------------
 | 
				
			||||||
 | 
					# Optional Software's Installation
 | 
				
			||||||
 | 
					#--------------------------------------------------------------------------
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Optional Software's will only be installed if you set them to `true`
 | 
				
			||||||
 | 
					# in the `docker-compose.yml` before the build.
 | 
				
			||||||
 | 
					# Example:
 | 
				
			||||||
 | 
					#   - INSTALL_ZIP_ARCHIVE=true
 | 
				
			||||||
 | 
					#   - ...
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#####################################
 | 
				
			||||||
 | 
					# xDebug:
 | 
				
			||||||
 | 
					#####################################
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ARG INSTALL_XDEBUG=false
 | 
				
			||||||
 | 
					RUN if [ ${INSTALL_XDEBUG} = true ]; then \
 | 
				
			||||||
 | 
					    # Install the xdebug extension
 | 
				
			||||||
 | 
					    pecl install xdebug && \
 | 
				
			||||||
 | 
					    docker-php-ext-enable xdebug \
 | 
				
			||||||
 | 
					;fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Copy xdebug configration for remote debugging
 | 
				
			||||||
 | 
					COPY ./xdebug.ini /usr/local/etc/php/conf.d/xdebug.ini
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#####################################
 | 
				
			||||||
 | 
					# MongoDB:
 | 
				
			||||||
 | 
					#####################################
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ARG INSTALL_MONGO=false
 | 
				
			||||||
 | 
					RUN if [ ${INSTALL_MONGO} = true ]; then \
 | 
				
			||||||
 | 
					    # Install the mongodb extension
 | 
				
			||||||
 | 
					    pecl install mongodb && \
 | 
				
			||||||
 | 
					    docker-php-ext-enable mongodb \
 | 
				
			||||||
 | 
					;fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#####################################
 | 
				
			||||||
 | 
					# ZipArchive:
 | 
				
			||||||
 | 
					#####################################
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ARG INSTALL_ZIP_ARCHIVE=false
 | 
				
			||||||
 | 
					RUN if [ ${INSTALL_ZIP_ARCHIVE} = true ]; then \
 | 
				
			||||||
 | 
					    # Install the zip extension
 | 
				
			||||||
 | 
					    pecl install zip && \
 | 
				
			||||||
 | 
					    docker-php-ext-enable zip \
 | 
				
			||||||
 | 
					;fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#####################################
 | 
				
			||||||
 | 
					# PHP Memcached:
 | 
				
			||||||
 | 
					#####################################
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ARG INSTALL_MEMCACHED=false
 | 
				
			||||||
 | 
					RUN if [ ${INSTALL_MEMCACHED} = true ]; then \
 | 
				
			||||||
 | 
					    # Install the php memcached extension
 | 
				
			||||||
 | 
					    curl -L -o /tmp/memcached.tar.gz "https://github.com/php-memcached-dev/php-memcached/archive/php7.tar.gz" \
 | 
				
			||||||
 | 
					    && mkdir -p memcached \
 | 
				
			||||||
 | 
					    && tar -C memcached -zxvf /tmp/memcached.tar.gz --strip 1 \
 | 
				
			||||||
 | 
					    && ( \
 | 
				
			||||||
 | 
					        cd memcached \
 | 
				
			||||||
 | 
					        && phpize \
 | 
				
			||||||
 | 
					        && ./configure \
 | 
				
			||||||
 | 
					        && make -j$(nproc) \
 | 
				
			||||||
 | 
					        && make install \
 | 
				
			||||||
 | 
					    ) \
 | 
				
			||||||
 | 
					    && rm -r memcached \
 | 
				
			||||||
 | 
					    && rm /tmp/memcached.tar.gz \
 | 
				
			||||||
 | 
					    && docker-php-ext-enable memcached \
 | 
				
			||||||
 | 
					;fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#####################################
 | 
				
			||||||
 | 
					# PHP Aerospike:
 | 
				
			||||||
 | 
					#####################################
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ARG INSTALL_AEROSPIKE_EXTENSION=false
 | 
				
			||||||
 | 
					ENV INSTALL_AEROSPIKE_EXTENSION ${INSTALL_AEROSPIKE_EXTENSION}
 | 
				
			||||||
 | 
					# Copy aerospike configration for remote debugging
 | 
				
			||||||
 | 
					COPY ./aerospike.ini /usr/local/etc/php/conf.d/aerospike.ini
 | 
				
			||||||
 | 
					RUN if [ ${INSTALL_AEROSPIKE_EXTENSION} = true ]; then \
 | 
				
			||||||
 | 
					    # Install the php aerospike extension
 | 
				
			||||||
 | 
					    curl -L -o /tmp/aerospike-client-php.tar.gz "https://github.com/luciano-jr/aerospike-client-php/archive/master.tar.gz" \
 | 
				
			||||||
 | 
					    && mkdir -p aerospike-client-php \
 | 
				
			||||||
 | 
					    && tar -C aerospike-client-php -zxvf /tmp/aerospike-client-php.tar.gz --strip 1 \
 | 
				
			||||||
 | 
					    && ( \
 | 
				
			||||||
 | 
					        cd aerospike-client-php/src/aerospike \
 | 
				
			||||||
 | 
					        && phpize \
 | 
				
			||||||
 | 
					        && ./build.sh \
 | 
				
			||||||
 | 
					        && make install \
 | 
				
			||||||
 | 
					    ) \
 | 
				
			||||||
 | 
					    && rm /tmp/aerospike-client-php.tar.gz \
 | 
				
			||||||
 | 
					;fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#####################################
 | 
				
			||||||
 | 
					# Opcache:
 | 
				
			||||||
 | 
					#####################################
 | 
				
			||||||
 | 
					ARG INSTALL_OPCACHE=false
 | 
				
			||||||
 | 
					RUN if [ ${INSTALL_OPCACHE} = true ]; then \
 | 
				
			||||||
 | 
					    docker-php-ext-install opcache && \
 | 
				
			||||||
 | 
					    docker-php-ext-enable opcache \
 | 
				
			||||||
 | 
					;fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Copy opcache configration
 | 
				
			||||||
 | 
					COPY ./opcache.ini /usr/local/etc/php/conf.d/opcache.ini
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#####################################
 | 
				
			||||||
 | 
					# Codeigniter Modifications:
 | 
				
			||||||
 | 
					#####################################
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ARG CODEIGNITER=false
 | 
				
			||||||
 | 
					RUN if [ ${CODEIGNITER} = true ]; then \
 | 
				
			||||||
 | 
					    # Install Codeigniter PHP extentions requirements
 | 
				
			||||||
 | 
					     docker-php-ext-install mysqli && \
 | 
				
			||||||
 | 
					     docker-php-ext-install tokenizer \
 | 
				
			||||||
 | 
					;fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					#--------------------------------------------------------------------------
 | 
				
			||||||
 | 
					# Final Touch
 | 
				
			||||||
 | 
					#--------------------------------------------------------------------------
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ADD ./laravel.ini /usr/local/etc/php/conf.d
 | 
				
			||||||
 | 
					ADD ./laravel.pool.conf /usr/local/etc/php-fpm.d/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RUN rm -r /var/lib/apt/lists/*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RUN usermod -u 1000 www-data
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					WORKDIR /var/www
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					CMD ["php-fpm"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					EXPOSE 9000
 | 
				
			||||||
		Reference in New Issue
	
	Block a user