Created
August 21, 2018 11:57
-
-
Save wlepinski/1f5b52434739bf45971ffaea7024939c to your computer and use it in GitHub Desktop.
Updated Dockerfile for Laravel with multi-stage builds
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# | |
# PHP Dependencies | |
# | |
FROM composer:1.7 as vendor | |
COPY database/ database/ | |
COPY composer.json composer.json | |
COPY composer.lock composer.lock | |
RUN composer install \ | |
--ignore-platform-reqs \ | |
--no-interaction \ | |
--no-plugins \ | |
--no-scripts \ | |
--prefer-dist | |
# | |
# Frontend | |
# | |
FROM node:8.11 as frontend | |
RUN mkdir -p /app/public | |
COPY package.json webpack.mix.js yarn.lock /app/ | |
COPY resources/assets/ /app/resources/assets/ | |
WORKDIR /app | |
RUN yarn install && yarn production | |
# | |
# Application | |
# | |
FROM php:7.2-apache-stretch | |
RUN a2enmod rewrite | |
ENV APACHE_DOCUMENT_ROOT /var/www/html/public | |
RUN sed -ri -e 's!/var/www/html!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/sites-available/*.conf | |
RUN sed -ri -e 's!/var/www/!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/apache2.conf /etc/apache2/conf-available/*.conf | |
COPY . /var/www/html | |
COPY --from=vendor /app/vendor/ /var/www/html/vendor/ | |
COPY --from=frontend /app/public/js/ /var/www/html/public/js/ | |
COPY --from=frontend /app/public/css/ /var/www/html/public/css/ | |
COPY --from=frontend /app/mix-manifest.json /var/www/html/mix-manifest.json | |
RUN chmod -R 777 /var/www/html/storage |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment