Dockerfile 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. FROM php:7.2-fpm
  2. # Copy composer.lock and composer.json
  3. COPY composer.lock composer.json /var/www/
  4. # Set working directory
  5. WORKDIR /var/www
  6. # Install dependencies
  7. RUN apt-get update && apt-get install -y \
  8. build-essential \
  9. mysql-client \
  10. libpng-dev \
  11. libjpeg62-turbo-dev \
  12. libfreetype6-dev \
  13. locales \
  14. zip \
  15. jpegoptim optipng pngquant gifsicle \
  16. vim \
  17. unzip \
  18. git \
  19. curl
  20. # Clear cache
  21. RUN apt-get clean && rm -rf /var/lib/apt/lists/*
  22. # Install extensions
  23. RUN docker-php-ext-install pdo_mysql mbstring zip exif pcntl
  24. RUN docker-php-ext-configure mcrypt
  25. RUN docker-php-ext-install mcrypt
  26. # Install composer
  27. RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
  28. # Install NodeJs
  29. RUN curl -sL https://deb.nodesource.com/setup_11.x | bash -
  30. RUN apt-get install -y nodejs
  31. # Add user for laravel application
  32. RUN groupadd -g 1000 www-data
  33. RUN useradd -u 1000 -ms /bin/bash -g www-data www-data
  34. # Copy existing application directory contents
  35. COPY . /var/www
  36. # Copy existing application directory permissions
  37. COPY --chown=www-data:www-data . /var/www
  38. # Change current user to www-data
  39. USER www-data
  40. # Expose port 9000 and start php-fpm server
  41. EXPOSE 9000
  42. CMD ["php-fpm"]