浏览代码

Add configuration to install aerospike php extension

Luciano Gonçalves 8 年之前
父节点
当前提交
1afad7f14c
共有 5 个文件被更改,包括 56 次插入2 次删除
  1. 5 1
      docker-compose.yml
  2. 23 1
      php-fpm/Dockerfile-70
  3. 3 0
      php-fpm/aerospike.ini
  4. 22 0
      workspace/Dockerfile
  5. 3 0
      workspace/aerospike.ini

+ 5 - 1
docker-compose.yml

@@ -12,6 +12,7 @@ services:
                 - INSTALL_MONGO=false
                 - INSTALL_NODE=false
                 - INSTALL_DRUSH=false
+                - INSTALL_AEROSPIKE_EXTENSION=false
                 - COMPOSER_GLOBAL_INSTALL=false
                 - PUID=1000
                 - PGID=1000
@@ -33,6 +34,7 @@ services:
                 - INSTALL_ZIP_ARCHIVE=false
                 - INSTALL_MEMCACHED=false
                 - INSTALL_OPCACHE=false
+                - INSTALL_AEROSPIKE_EXTENSION=false
             dockerfile: Dockerfile-70
         volumes_from:
             - volumes_source
@@ -163,7 +165,7 @@ services:
         ports:
             - "6379:6379"
 
-### Aerospike Container #########################################
+### Aerospike c Container #########################################
 
     aerospike:
         build: ./aerospike
@@ -174,6 +176,8 @@ services:
             - "3001:3001"
             - "3002:3002"
             - "3003:3003"
+        volumes_from:
+            - workspace
 
 ### Memcached Container #####################################
 

+ 23 - 1
php-fpm/Dockerfile-70

@@ -98,6 +98,28 @@ RUN if [ ${INSTALL_MEMCACHED} = true ]; then \
     && docker-php-ext-enable memcached \
 ;fi
 
+#####################################
+# PHP Aerospike:
+#####################################
+
+ARG INSTALL_AEROSPIKE_EXTENSION=true
+ENV INSTALL_AEROSPIKE_EXTENSION ${INSTALL_AEROSPIKE_EXTENSION}
+# Copy aerospike configration for remote debugging
+COPY ./aerospike.ini /usr/local/etc/php/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" \
+    && mkdir -p aerospike-client-php \
+    && tar -C aerospike-client-php -zxvf /tmp/aerospike-client-php.tar.gz --strip 1 \
+    && ( \
+        cd aerospike-client-php/src/aerospike \
+        && phpize \
+        && ./build.sh \
+        && make install \
+    ) \
+    && rm /tmp/aerospike-client-php.tar.gz \
+;fi
+
 #####################################
 # Opcache:
 #####################################
@@ -127,4 +149,4 @@ WORKDIR /var/www/laravel
 
 CMD ["php-fpm"]
 
-EXPOSE 9000
+EXPOSE 9000

+ 3 - 0
php-fpm/aerospike.ini

@@ -0,0 +1,3 @@
+extension=aerospike.so
+aerospike.udf.lua_system_path=/usr/local/aerospike/lua
+aerospike.udf.lua_user_path=/usr/local/aerospike/usr-lua

+ 22 - 0
workspace/Dockerfile

@@ -140,6 +140,28 @@ RUN if [ ${INSTALL_NODE} = true ]; then \
     echo '[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"  # This loads nvm' >> ~/.bashrc \
 ;fi
 
+#####################################
+# PHP Aerospike:
+#####################################
+USER root
+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" \
+    && mkdir -p aerospike-client-php \
+    && tar -C aerospike-client-php -zxvf /tmp/aerospike-client-php.tar.gz --strip 1 \
+    && ( \
+        cd aerospike-client-php/src/aerospike \
+        && phpize \
+        && ./build.sh \
+        && make install \
+    ) \
+    && rm /tmp/aerospike-client-php.tar.gz \
+;fi
+
 #
 #--------------------------------------------------------------------------
 # Final Touch

+ 3 - 0
workspace/aerospike.ini

@@ -0,0 +1,3 @@
+extension=aerospike.so
+aerospike.udf.lua_system_path=/usr/local/aerospike/lua
+aerospike.udf.lua_user_path=/usr/local/aerospike/usr-lua