Last active
December 4, 2019 00:37
-
-
Save SreejithEzhakkad/7dc6c115391291e9662404576702c73a to your computer and use it in GitHub Desktop.
Dockerfile for Laravel app with NGIX & MySQL
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
FROM php:7.3-fpm | |
# Copy composer.lock and composer.json | |
COPY composer.lock composer.json /var/www/ | |
# Set working directory | |
WORKDIR /var/www | |
# Install dependencies | |
RUN apt-get update && apt-get install -y \ | |
build-essential \ | |
libzip-dev \ | |
libpng-dev \ | |
libjpeg62-turbo-dev \ | |
libwebp-dev libjpeg62-turbo-dev libpng-dev libxpm-dev \ | |
libfreetype6 \ | |
libfreetype6-dev \ | |
locales \ | |
zip \ | |
jpegoptim optipng pngquant gifsicle \ | |
vim \ | |
unzip \ | |
git \ | |
curl | |
# Clear cache | |
RUN apt-get clean && rm -rf /var/lib/apt/lists/* | |
# Install extensions | |
RUN docker-php-ext-install pdo_mysql mbstring zip exif pcntl | |
# Install composer | |
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer | |
# Add user for laravel application | |
RUN groupadd -g 1000 www | |
RUN useradd -u 1000 -ms /bin/bash -g www www | |
# Copy existing application directory contents | |
COPY . /var/www | |
# Copy existing application directory permissions | |
COPY --chown=www:www . /var/www | |
# Change current user to www | |
USER www | |
# Expose port 9000 and start php-fpm server | |
EXPOSE 9000 | |
CMD ["php-fpm"] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
You don't need to use the COPY command twice, you can use just
This means you will copy all the files from the host to the WORKDIR you set earlier.