Skip to content
Snippets Groups Projects
Select Git revision
  • af323726801d1c0fb1b44e51d17e60a491b701da
  • main default protected
2 results

README.md

Blame
  • Dockerfile 3.99 KiB
    FROM ubuntu:16.04
    MAINTAINER Carsten Karbach (c.karbach@fz-juelich.de)
    
    ARG oic=rpms/oracle-instantclient12.2-basic-12.2.0.1.0-1.x86_64.rpm
    ARG osdk=rpms/oracle-instantclient12.2-devel-12.2.0.1.0-1.x86_64.rpm
    ARG osqlplus=rpms/oracle-instantclient12.2-sqlplus-12.2.0.1.0-1.x86_64.rpm
    
    # install dependencies, certificates, apache
    RUN apt-get update \
            && apt-get install -y --no-install-recommends ca-certificates \
            && apt-get -y dist-upgrade \
            && apt-get autoremove -y \
            && apt-get clean all \
            && apt-get install -y apache2 \
            && rm -r /var/lib/apt/lists/*
    
    # Set environment variables. 
    ENV HOME /root 
    # Define working directory. 
    WORKDIR /root
    
    # disable interactive functions 
    ENV DEBIAN_FRONTEND noninteractive 
    # Install php
    RUN apt-get update && \
     apt-get install -y curl zip unzip php libapache2-mod-php git \
      php-fpm php-cli php-mysqlnd php-pgsql php-sqlite3 php-redis \
      php-apcu php-intl php-imagick php-mcrypt php-json php-gd php-curl php-mbstring php-xml && \
     phpenmod mcrypt && \
     rm -rf /var/lib/apt/lists/*
    
    # Install composer
    RUN cd /tmp && curl -sS https://getcomposer.org/installer | php && mv composer.phar /usr/local/bin/composer
    
    #Oracle Envs
    RUN echo "# Oracle Instant Client" >> /etc/environment && \
    	echo "LD_LIBRARY_PATH=/usr/lib/oracle/12.2/client64" >> /etc/environment && \
    	echo "TNS_ADMIN=/usr/lib/oracle/12.2/client64" >> /etc/environment && \
    	echo "ORACLE_BASE=/usr/lib/oracle/12.2/client64" >> /etc/environment && \
    	echo "ORACLE_HOME=/usr/lib/oracle/12.2/client64" >> /etc/environment && \
    	echo "NLS_LANG=GERMAN_GERMANY.WE8MSWIN1252" >> /etc/environment && \
    	echo 'NLS_NUMERIC_CHARACTERS=". "' >> /etc/environment
    #Make variables also available to www-data user in apache	
    RUN echo 'export LD_LIBRARY_PATH=/usr/lib/oracle/12.2/client64' >> /etc/apache2/envvars && \
    	echo 'export TNS_ADMIN=/usr/lib/oracle/12.2/client64' >> /etc/apache2/envvars && \
    	echo 'export ORACLE_BASE=/usr/lib/oracle/12.2/client64' >> /etc/apache2/envvars && \
    	echo 'export ORACLE_HOME=/usr/lib/oracle/12.2/client64' >> /etc/apache2/envvars && \
    	echo 'export NLS_LANG=GERMAN_GERMANY.WE8MSWIN1252' >> /etc/apache2/envvars && \
    	echo 'export NLS_NUMERIC_CHARACTERS=". "' >> /etc/apache2/envvars
    
    
    #PHP PDO OCI Stuff... really annoying!
    RUN mkdir /tmp/rpms
    ADD $oic $osdk $osqlplus /tmp/rpms/
    
    ENV ORACLE_HOME /usr/lib/oracle/12.2/client64
    
    #change workdir to tmp
    WORKDIR /tmp
    
    #install oracle instant client and compile php oci and pdo extensions.
    ADD utils/build_oracle_pdo_oci.sh /tmp/
    RUN apt-get update && apt-get install -y --no-install-recommends \
    		alien \
    		build-essential \
    		gcc \
    		libxml2-dev \
    		make \
    		php-pear \
    		php7.0-dev \