105 lines
2.7 KiB
Docker
105 lines
2.7 KiB
Docker
#
|
|
#--------------------------------------------------------------------------
|
|
# Image Setup
|
|
#--------------------------------------------------------------------------
|
|
#
|
|
|
|
ARG PHP_VERSION=${PHP_VERSION}
|
|
FROM php:${PHP_VERSION}-alpine
|
|
|
|
LABEL maintainer="Mahmoud Zalt <mahmoud@zalt.me>"
|
|
|
|
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
|
|
|
|
# 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
|
|
|
|
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/
|