# #-------------------------------------------------------------------------- # Image Setup #-------------------------------------------------------------------------- # ARG PHP_VERSION=${PHP_VERSION} FROM php:${PHP_VERSION}-alpine LABEL maintainer="Mahmoud Zalt " RUN apk --update add wget \ curl \ git \ build-base \ libmemcached-dev \ libmcrypt-dev \ libxml2-dev \ zlib-dev \ autoconf \ cyrus-sasl-dev \ libgsasl-dev \ supervisor RUN docker-php-ext-install mysqli mbstring pdo pdo_mysql tokenizer xml pcntl RUN pecl channel-update pecl.php.net && pecl install memcached mcrypt-1.0.1 && docker-php-ext-enable memcached #Install BCMath package: ARG INSTALL_BCMATH=false RUN if [ ${INSTALL_BCMATH} = true ]; then \ docker-php-ext-install bcmath \ ;fi # Install PostgreSQL drivers: ARG INSTALL_PGSQL=false RUN if [ ${INSTALL_PGSQL} = true ]; then \ apk --update add postgresql-dev \ && docker-php-ext-install pdo_pgsql \ ;fi ########################################################################### # PHP Memcached: ########################################################################### ARG INSTALL_MEMCACHED=false RUN if [ ${INSTALL_MEMCACHED} = true ]; then \ # Install the php memcached extension if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \ curl -L -o /tmp/memcached.tar.gz "https://github.com/php-memcached-dev/php-memcached/archive/2.2.0.tar.gz"; \ else \ curl -L -o /tmp/memcached.tar.gz "https://github.com/php-memcached-dev/php-memcached/archive/php7.tar.gz"; \ fi \ && 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 RUN rm /var/cache/apk/* \ && mkdir -p /var/www # #-------------------------------------------------------------------------- # Optional Supervisord Configuration #-------------------------------------------------------------------------- # # Modify the ./supervisor.conf file to match your App's requirements. # Make sure you rebuild your container with every change. # COPY supervisord.conf /etc/supervisord.conf ENTRYPOINT ["/usr/bin/supervisord", "-n", "-c", "/etc/supervisord.conf"] # #-------------------------------------------------------------------------- # Optional Software's Installation #-------------------------------------------------------------------------- # # If you need to modify this image, feel free to do it right here. # # -- Your awesome modifications go here -- # # #-------------------------------------------------------------------------- # Check PHP version #-------------------------------------------------------------------------- # RUN php -v | head -n 1 | grep -q "PHP ${PHP_VERSION}." # #-------------------------------------------------------------------------- # Final Touch #-------------------------------------------------------------------------- # WORKDIR /etc/supervisor/conf.d/