Bladeren bron

refactor the workspace docker file

Mahmoud Zalt 8 jaren geleden
bovenliggende
commit
5635b47c6f
2 gewijzigde bestanden met toevoegingen van 49 en 48 verwijderingen
  1. 1 0
      php-fpm/Dockerfile-70
  2. 48 48
      workspace/Dockerfile

+ 1 - 0
php-fpm/Dockerfile-70

@@ -34,6 +34,7 @@ MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
 # in the `docker-compose.yml` before the build.
 # Example:
 #   - INSTALL_ZIP_ARCHIVE=true
+#   - ...
 #
 
 #####################################

+ 48 - 48
workspace/Dockerfile

@@ -32,13 +32,46 @@ MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
 #
 # Optional Software's will only be installed if you set them to `true`
 # in the `docker-compose.yml` before the build.
+# Example:
+#   - INSTALL_NODE=false
+#   - ...
 #
-#   - INSTALL_XDEBUG=           false
-#   - INSTALL_MONGO=            false
-#   - COMPOSER_GLOBAL_INSTALL=  false
-#   - INSTALL_NODE=             false
-#   - INSTALL_DRUSH=            false
-#
+
+#####################################
+# Non-Root User:
+#####################################
+
+# Add a non-root user to prevent files being created with root permissions on host machine.
+ARG PUID=1000
+ARG PGID=1000
+RUN groupadd -g $PGID laradock && \
+    useradd -u $PUID -g laradock -m laradock
+
+#####################################
+# Composer:
+#####################################
+
+# Add the composer.json
+COPY ./composer.json /home/laradock/.composer/composer.json
+
+# Make sure that ~/.composer belongs to laradock
+RUN chown -R laradock:laradock /home/laradock/.composer
+USER laradock
+
+# Check if global install need to be ran
+ARG COMPOSER_GLOBAL_INSTALL=false
+ENV COMPOSER_GLOBAL_INSTALL ${COMPOSER_GLOBAL_INSTALL}
+RUN if [ ${COMPOSER_GLOBAL_INSTALL} = true ]; then \
+    # run the install
+    composer global install \
+;fi
+
+#####################################
+# Crontab
+#####################################
+USER root
+
+COPY ./crontab /var/spool/cron/crontabs
 
 #####################################
 # xDebug:
@@ -57,17 +90,15 @@ RUN if [ ${INSTALL_XDEBUG} = true ]; then \
 # ADD for REMOTE debugging
 COPY ./xdebug.ini /etc/php/7.0/cli/conf.d/xdebug.ini
 
-
 #####################################
 # ssh:
 #####################################
+ARG INSTALL_WORKSPACE_SSH=false
+ENV INSTALL_WORKSPACE_SSH ${INSTALL_WORKSPACE_SSH}
 
-# Check if ssh needs to be installed
-# See: https://github.com/phusion/baseimage-docker#enabling_ssh
 ADD insecure_id_rsa /tmp/id_rsa
 ADD insecure_id_rsa.pub /tmp/id_rsa.pub
-ARG INSTALL_WORKSPACE_SSH=false
-ENV INSTALL_WORKSPACE_SSH ${INSTALL_WORKSPACE_SSH}
+
 RUN if [ ${INSTALL_WORKSPACE_SSH} = true ]; then \
     rm -f /etc/service/sshd/down && \
     cat /tmp/id_rsa.pub >> /root/.ssh/authorized_keys \
@@ -78,7 +109,6 @@ RUN if [ ${INSTALL_WORKSPACE_SSH} = true ]; then \
     && chmod 400 /root/.ssh/id_rsa \
 ;fi
 
-
 #####################################
 # MongoDB:
 #####################################
@@ -92,35 +122,6 @@ RUN if [ ${INSTALL_MONGO} = true ]; then \
     echo "extension=mongodb.so" >> /etc/php/7.0/cli/php.ini \
 ;fi
 
-#####################################
-# Non-Root User:
-#####################################
-
-# Add a non-root user to prevent files being created with root permissions on host machine.
-ARG PUID=1000
-ARG PGID=1000
-RUN groupadd -g $PGID laradock && \
-    useradd -u $PUID -g laradock -m laradock
-
-#####################################
-# Composer:
-#####################################
-
-# Add the composer.json
-COPY ./composer.json /home/laradock/.composer/composer.json
-
-# Make sure that ~/.composer belongs to laradock
-RUN chown -R laradock:laradock /home/laradock/.composer
-USER laradock
-
-# Check if global install need to be ran
-ARG COMPOSER_GLOBAL_INSTALL=false
-ENV COMPOSER_GLOBAL_INSTALL ${COMPOSER_GLOBAL_INSTALL}
-RUN if [ ${COMPOSER_GLOBAL_INSTALL} = true ]; then \
-    # run the install
-    composer global install \
-;fi
-
 #####################################
 # Drush:
 #####################################
@@ -167,6 +168,7 @@ RUN if [ ${INSTALL_NODE} = true ]; then \
 
 # Add NVM binaries to root's .bashrc
 USER root
+
 RUN if [ ${INSTALL_NODE} = true ]; then \
     echo "" >> ~/.bashrc && \
     echo 'export NVM_DIR="/home/laradock/.nvm"' >> ~/.bashrc && \
@@ -177,10 +179,13 @@ RUN if [ ${INSTALL_NODE} = true ]; then \
 # PHP Aerospike:
 #####################################
 USER root
-ARG INSTALL_AEROSPIKE_EXTENSION=false
+
+ARG INSTALL_AEROSPIKE_EXTENSION=true
 ENV INSTALL_AEROSPIKE_EXTENSION ${INSTALL_AEROSPIKE_EXTENSION}
+
 # Copy aerospike configration for remote debugging
 COPY ./aerospike.ini /etc/php/7.0/cli/conf.d/aerospike.ini
+
 RUN if [ ${INSTALL_AEROSPIKE_EXTENSION} = true ]; then \
     # Install the php aerospike extension
     curl -L -o /tmp/aerospike-client-php.tar.gz "https://github.com/luciano-jr/aerospike-client-php/archive/master.tar.gz" \
@@ -194,16 +199,11 @@ RUN if [ ${INSTALL_AEROSPIKE_EXTENSION} = true ]; then \
     ) \
     && rm /tmp/aerospike-client-php.tar.gz \
 ;fi
+
 RUN if [ ${INSTALL_AEROSPIKE_EXTENSION} = false ]; then \
     rm /etc/php/7.0/cli/conf.d/aerospike.ini \
 ;fi
 
-#####################################
-# Crontab
-#####################################
-USER root
-COPY ./crontab /var/spool/cron/crontabs
-
 #
 #--------------------------------------------------------------------------
 # Final Touch