Created
April 4, 2020 20:28
-
-
Save sagar290/77c0e8f2b86248684dd5edcc1ebfeb0e to your computer and use it in GitHub Desktop.
Dockerfile for Laravel app
This file contains hidden or 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.2-fpm | |
| COPY . /var/www/ | |
| WORKDIR /var/www | |
| # Install dependencies | |
| RUN apt-get update && apt-get install -y \ | |
| build-essential \ | |
| libpng-dev \ | |
| libjpeg62-turbo-dev \ | |
| libfreetype6-dev \ | |
| locales \ | |
| zip \ | |
| jpegoptim optipng pngquant gifsicle \ | |
| vim \ | |
| unzip \ | |
| git \ | |
| curl | |
| # RUN pecl install mongodb | |
| # RUN echo "extension=mongodb.so" >> /usr/local/etc/php/conf.d/mongodb.ini | |
| # RUN apt-get install php7.2-mongodb | |
| # 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 | |
| RUN docker-php-ext-configure gd --with-gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ --with-png-dir=/usr/include/ | |
| RUN docker-php-ext-install gd | |
| # 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 | |
| RUN chown -R www:www /var/www | |
| RUN find /var/www/ -type f -exec chmod 644 {} \; | |
| RUN find /var/www/ -type d -exec chmod 755 {} \; | |
| # Change current user to www | |
| RUN composer install | |
| USER www | |
| EXPOSE 8000 | |
| RUN php artisan key:generate | |
| RUN php artisan cache:clear | |
| CMD ["php-fpm"] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment