use laradock workspace base image
to speed up the build time
This commit is contained in:
		@@ -4,82 +4,49 @@
 | 
			
		||||
#--------------------------------------------------------------------------
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
FROM phusion/baseimage:latest
 | 
			
		||||
FROM laradock/workspace:1.0.0
 | 
			
		||||
 | 
			
		||||
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
 | 
			
		||||
 | 
			
		||||
RUN DEBIAN_FRONTEND=noninteractive
 | 
			
		||||
RUN locale-gen en_US.UTF-8
 | 
			
		||||
 | 
			
		||||
ENV LANGUAGE=en_US.UTF-8
 | 
			
		||||
ENV LC_ALL=en_US.UTF-8
 | 
			
		||||
ENV LC_CTYPE=UTF-8
 | 
			
		||||
ENV LANG=en_US.UTF-8
 | 
			
		||||
ENV TERM xterm
 | 
			
		||||
 | 
			
		||||
# Add the "PHP 7" ppa
 | 
			
		||||
RUN apt-get install -y software-properties-common && \
 | 
			
		||||
    add-apt-repository -y ppa:ondrej/php
 | 
			
		||||
#
 | 
			
		||||
#--------------------------------------------------------------------------
 | 
			
		||||
# Mandatory Software's Installation
 | 
			
		||||
#--------------------------------------------------------------------------
 | 
			
		||||
#
 | 
			
		||||
# Mandatory Software's such as ("php7.0-cli", "git", "vim", ....) are
 | 
			
		||||
# installed on the base image 'laradock/workspace' image. If you want
 | 
			
		||||
# to add more Software's or remove existing one, you need to edit the
 | 
			
		||||
# base image (https://github.com/LaraDock/workspace).
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
#--------------------------------------------------------------------------
 | 
			
		||||
# Software's Installation
 | 
			
		||||
# Optional Software's Installation
 | 
			
		||||
#--------------------------------------------------------------------------
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
# Install "PHP Extentions", "libraries", "Software's"
 | 
			
		||||
RUN apt-get update && \
 | 
			
		||||
    apt-get install -y --force-yes \
 | 
			
		||||
        php7.0-cli \
 | 
			
		||||
        php7.0-common \
 | 
			
		||||
        php7.0-curl \
 | 
			
		||||
        php7.0-json \
 | 
			
		||||
        php7.0-xml \
 | 
			
		||||
        php7.0-mbstring \
 | 
			
		||||
        php7.0-mcrypt \
 | 
			
		||||
        php7.0-mysql \
 | 
			
		||||
        php7.0-pgsql \
 | 
			
		||||
        php7.0-sqlite \
 | 
			
		||||
        php7.0-sqlite3 \
 | 
			
		||||
        php7.0-zip \
 | 
			
		||||
        php7.0-memcached \
 | 
			
		||||
        php7.0-gd \
 | 
			
		||||
        pkg-config \
 | 
			
		||||
        php-dev \
 | 
			
		||||
        libcurl4-openssl-dev \
 | 
			
		||||
        libedit-dev \
 | 
			
		||||
        libssl-dev \
 | 
			
		||||
        libxml2-dev \
 | 
			
		||||
        xz-utils \
 | 
			
		||||
        libsqlite3-dev \
 | 
			
		||||
        sqlite3 \
 | 
			
		||||
        git \
 | 
			
		||||
        curl \
 | 
			
		||||
        vim \
 | 
			
		||||
        nano \
 | 
			
		||||
    && apt-get clean
 | 
			
		||||
# Optional Software's will only be installed if you set them to `true`
 | 
			
		||||
# in the `docker-compose.yml` before the build.
 | 
			
		||||
#
 | 
			
		||||
#   - INSTALL_XDEBUG=           false
 | 
			
		||||
#   - INSTALL_MONGO=            false
 | 
			
		||||
#   - COMPOSER_GLOBAL_INSTALL=  false
 | 
			
		||||
#   - INSTALL_NODE=             false
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
#####################################
 | 
			
		||||
# Composer:
 | 
			
		||||
# xDebug:
 | 
			
		||||
#####################################
 | 
			
		||||
 | 
			
		||||
# Install composer and add its bin to the PATH.
 | 
			
		||||
RUN curl -s http://getcomposer.org/installer | php && \
 | 
			
		||||
    echo "export PATH=${PATH}:/var/www/laravel/vendor/bin" >> ~/.bashrc && \
 | 
			
		||||
    mv composer.phar /usr/local/bin/composer
 | 
			
		||||
 | 
			
		||||
# Add the composer.json
 | 
			
		||||
ADD ./composer.json /root/.composer/composer.json
 | 
			
		||||
 | 
			
		||||
# Check if global install need to be runned
 | 
			
		||||
ARG COMPOSER_GLOBAL_INSTALL=true
 | 
			
		||||
ENV COMPOSER_GLOBAL_INSTALL ${COMPOSER_GLOBAL_INSTALL}
 | 
			
		||||
RUN if [ ${COMPOSER_GLOBAL_INSTALL} = true ]; then \
 | 
			
		||||
    # run the install
 | 
			
		||||
    composer global install \
 | 
			
		||||
# Check if xDebug needs to be installed
 | 
			
		||||
ARG INSTALL_XDEBUG=true
 | 
			
		||||
ENV INSTALL_XDEBUG ${INSTALL_XDEBUG}
 | 
			
		||||
RUN if [ ${INSTALL_XDEBUG} = true ]; then \
 | 
			
		||||
    # Load the xdebug extension only with phpunit commands
 | 
			
		||||
    apt-get install -y --force-yes php7.0-xdebug && \
 | 
			
		||||
    sed -i 's/^/;/g' /etc/php/7.0/cli/conf.d/20-xdebug.ini && \
 | 
			
		||||
    echo "alias phpunit='php -dzend_extension=xdebug.so /var/www/laravel/vendor/bin/phpunit'" >> ~/.bashrc \
 | 
			
		||||
;fi
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#####################################
 | 
			
		||||
# MongoDB:
 | 
			
		||||
#####################################
 | 
			
		||||
@@ -94,17 +61,18 @@ RUN if [ ${INSTALL_MONGO} = true ]; then \
 | 
			
		||||
;fi
 | 
			
		||||
 | 
			
		||||
#####################################
 | 
			
		||||
# xDebug:
 | 
			
		||||
# Composer:
 | 
			
		||||
#####################################
 | 
			
		||||
 | 
			
		||||
# Check if xDebug needs to be installed
 | 
			
		||||
ARG INSTALL_XDEBUG=true
 | 
			
		||||
ENV INSTALL_XDEBUG ${INSTALL_XDEBUG}
 | 
			
		||||
RUN if [ ${INSTALL_XDEBUG} = true ]; then \
 | 
			
		||||
    # Load the xdebug extension only with phpunit commands
 | 
			
		||||
    apt-get install -y --force-yes php7.0-xdebug && \
 | 
			
		||||
    sed -i 's/^/;/g' /etc/php/7.0/cli/conf.d/20-xdebug.ini && \
 | 
			
		||||
    echo "alias phpunit='php -dzend_extension=xdebug.so /var/www/laravel/vendor/bin/phpunit'" >> ~/.bashrc \
 | 
			
		||||
# Add the composer.json
 | 
			
		||||
ADD ./composer.json /root/.composer/composer.json
 | 
			
		||||
 | 
			
		||||
# Check if global install need to be runned
 | 
			
		||||
ARG COMPOSER_GLOBAL_INSTALL=true
 | 
			
		||||
ENV COMPOSER_GLOBAL_INSTALL ${COMPOSER_GLOBAL_INSTALL}
 | 
			
		||||
RUN if [ ${COMPOSER_GLOBAL_INSTALL} = true ]; then \
 | 
			
		||||
    # run the install
 | 
			
		||||
    composer global install \
 | 
			
		||||
;fi
 | 
			
		||||
 | 
			
		||||
#####################################
 | 
			
		||||
@@ -137,12 +105,9 @@ ENV if [ ${INSTALL_NODE} = true ]; then \
 | 
			
		||||
#--------------------------------------------------------------------------
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
# Source the bash
 | 
			
		||||
RUN . ~/.bashrc
 | 
			
		||||
 | 
			
		||||
# Clean up
 | 
			
		||||
RUN apt-get clean && \
 | 
			
		||||
    rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
 | 
			
		||||
 | 
			
		||||
# Set default work directory
 | 
			
		||||
WORKDIR /var/www/laravel
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user