Browse Source

Improve dockerfile

Herton 6 years ago
parent
commit
ca211fa615
3 changed files with 19 additions and 12 deletions
  1. 17 11
      Dockerfile
  2. 0 1
      docker-compose.yml
  3. 2 0
      php/local.ini

+ 17 - 11
Dockerfile

@@ -19,15 +19,16 @@ RUN apt-get update && apt-get install -y \
     vim \
     unzip \
     git \
-    curl
+    curl \
+    gnupg
 
 # 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 mcrypt
-RUN docker-php-ext-install mcrypt
+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
@@ -36,20 +37,25 @@ RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local
 RUN curl -sL https://deb.nodesource.com/setup_11.x | bash -
 RUN apt-get install -y nodejs
 
-# Add user for laravel application
-RUN groupadd -g 1000 www-data
-RUN useradd -u 1000 -ms /bin/bash -g www-data www-data
-
 # Copy existing application directory contents
 COPY . /var/www
 
+# Add user for laravel application
+RUN groupadd -g 1000 hd
+RUN useradd -u 1000 -ms /bin/bash -g hd hd
+
 # Copy existing application directory permissions
-COPY --chown=www-data:www-data . /var/www
+COPY --chown=hd:hd . /var/www
+
+## Install xdebug
+RUN yes | pecl install xdebug \
+    && echo "zend_extension=$(find /usr/local/lib/php/extensions/ -name xdebug.so)" > /usr/local/etc/php/conf.d/xdebug.ini \
+    && echo "xdebug.remote_enable=on" >> /usr/local/etc/php/conf.d/xdebug.ini \
+    && echo "xdebug.remote_autostart=off" >> /usr/local/etc/php/conf.d/xdebug.ini 
 
-# Change current user to www-data
-USER www-data
+# Change current user to www
+USER hd
 
 # Expose port 9000 and start php-fpm server
 EXPOSE 9000
 CMD ["php-fpm"]
-

+ 0 - 1
docker-compose.yml

@@ -6,7 +6,6 @@ services:
     build:
       context: .
       dockerfile: Dockerfile
-    image: digitalocean.com/php
     container_name: app
     restart: unless-stopped
     tty: true

+ 2 - 0
php/local.ini

@@ -1,3 +1,5 @@
 upload_max_filesize=40M
 post_max_size=40M
 
+# Xdebug 
+zend_extension=/usr/local/lib/php/extensions/no-debug-non-zts-20170718/xdebug.so