LayerCI Laravel Example

#Use an Ubuntu 18.04 base for our staging server
FROM vm/ubuntu:18.04

# To note: Layerfiles create entire VMs, *not* containers!

# Install php5 & composer
RUN apt-get update && \
    apt-get install software-properties-common && \
    yes | add-apt-repository ppa:ondrej/php && \
    apt-get update && \
    apt-get install curl php7.3-cli php7.3-mbstring php7.3-zip php7.3-dom \
            git unzip
RUN curl -sS -o composer-setup.php && \
    php composer-setup.php --install-dir=/usr/local/bin --filename=composer && \
    rm composer-setup.php

# Install laravel
ENV COMPOSER_ALLOW_SUPERUSER=1 PATH=~/.config/composer/vendor/bin:$PATH
RUN composer global require laravel/installer

# Create sample blog
RUN laravel new blog

RUN composer install
RUN BACKGROUND php artisan serve --host --port 80

# Expose website creates a unique link to view the website running in the server
EXPOSE WEBSITE http://localhost:80
Try this example live