# #-------------------------------------------------------------------------- # 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 \ pcre-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 # Add a non-root user: ARG PUID=1000 ENV PUID ${PUID} ARG PGID=1000 ENV PGID ${PGID} RUN addgroup -g ${PGID} laradock && \ adduser -D -G laradock -u ${PUID} laradock #Install SOAP package: ARG INSTALL_SOAP=false RUN if [ ${INSTALL_SOAP} = true ]; then \ docker-php-ext-install soap \ ;fi #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 # Install ZipArchive: ARG INSTALL_ZIP_ARCHIVE=false RUN if [ ${INSTALL_ZIP_ARCHIVE} = true ]; then \ apk --update add libzip-dev && \ docker-php-ext-configure zip --with-libzip && \ # Install the zip extension docker-php-ext-install zip \ ;fi # Install MySQL Client: ARG INSTALL_MYSQL_CLIENT=false RUN if [ ${INSTALL_MYSQL_CLIENT} = true ]; then \ apk --update add mysql-client \ ;fi # Install AMQP: ARG INSTALL_AMQP=false RUN if [ ${INSTALL_AMQP} = true ]; then \ apk --update add rabbitmq-c rabbitmq-c-dev && \ pecl install amqp && \ docker-php-ext-enable amqp && \ docker-php-ext-install sockets \ ;fi # Install Phalcon ext ARG INSTALL_PHALCON=false ARG PHALCON_VERSION ENV PHALCON_VERSION ${PHALCON_VERSION} RUN if [ $INSTALL_PHALCON = true ]; then \ apk --update add unzip gcc make re2c bash\ && curl -L -o /tmp/cphalcon.zip https://github.com/phalcon/cphalcon/archive/v${PHALCON_VERSION}.zip \ && unzip -d /tmp/ /tmp/cphalcon.zip \ && cd /tmp/cphalcon-${PHALCON_VERSION}/build \ && ./install \ && rm -rf /tmp/cphalcon* \ ;fi RUN if [ $INSTALL_GHOSTSCRIPT = true ]; then \ apk --update add ghostscript \ ;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/