diff --git a/metron-deployment/packaging/docker/ansible-docker/Dockerfile b/metron-deployment/packaging/docker/ansible-docker/Dockerfile index ebf002ae98..df3aeb5cac 100644 --- a/metron-deployment/packaging/docker/ansible-docker/Dockerfile +++ b/metron-deployment/packaging/docker/ansible-docker/Dockerfile @@ -17,49 +17,81 @@ FROM centos:centos6.9 MAINTAINER Apache Metron -RUN yum install -y tar -RUN yum install -y wget -# base development tools required -RUN yum groupinstall -y "Development tools" -# newer cpp 11 support required for building node modules -RUN yum install -y centos-release-scl -RUN yum install -y devtoolset-4-gcc-c++ devtoolset-4-gcc -RUN yum install -y zlib-dev openssl-devel sqlite-devel bzip2-devel libffi-devel -# install python 2.7.11 but do not make it the default -RUN wget https://www.python.org/ftp/python/2.7.11/Python-2.7.11.tgz -O /usr/src/Python-2.7.11.tgz -WORKDIR /usr/src -RUN tar xvf Python-2.7.11.tgz -WORKDIR /usr/src/Python-2.7.11 -RUN ./configure -RUN make altinstall -WORKDIR /usr/src -RUN wget --no-check-certificate https://pypi.python.org/packages/source/s/setuptools/setuptools-11.3.tar.gz -O /usr/src/setuptools-11.3.tar.gz -RUN tar xvf setuptools-11.3.tar.gz -WORKDIR /usr/src/setuptools-11.3 -RUN python2.7 setup.py install -RUN easy_install-2.7 pip -# install ansible and set the configuration var -RUN pip2.7 install ansible==2.0.0.2 -RUN pip2.7 install boto COPY ansible.cfg /root/ ENV ANSIBLE_CONFIG /root/ansible.cfg -# java -RUN yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel -RUN yum install -y which -RUN yum install -y nss -WORKDIR /usr/src -# setup maven -RUN wget http://apache.cs.utah.edu/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz -RUN tar xzvf apache-maven-3.3.9-bin.tar.gz -RUN mv apache-maven-3.3.9 /opt/maven -RUN ln -s /opt/maven/bin/mvn /usr/bin/mvn -# install rpm tools required to build rpms -RUN yum -y install asciidoc rpm-build rpm2cpio tar unzip xmlto zip rpmlint make && yum clean all -# create a .bashrc for root, enabling the cpp 11 toolset -RUN touch /root/.bashrc \ - && cat '/opt/rh/devtoolset-4/enable' >> /root/.bashrc -# install node so that the node dependencies can be packaged into the RPMs -RUN curl --silent --location https://rpm.nodesource.com/setup_6.x | bash - -RUN yum -y install nodejs -WORKDIR /root +RUN yum install -y \ + tar \ + wget \ + # base development tools required \ + && yum groupinstall -y \ + "Development tools" \ + # Install Software Collections repo (needs to be done in separate command) \ + && yum install -y \ + centos-release-scl \ + # newer cpp 11 support required for building node modules \ + && yum install -y \ + devtoolset-4-gcc-c++ \ + devtoolset-4-gcc \ + zlib-dev \ + openssl-devel \ + sqlite-devel \ + bzip2-devel \ + libffi-devel \ + # install python 2.7.11 but do not make it the default \ + && wget https://www.python.org/ftp/python/2.7.11/Python-2.7.11.tgz -O /usr/src/Python-2.7.11.tgz \ + && cd /usr/src \ + && tar xvf Python-2.7.11.tgz \ + && rm -rf Python-2.7.11.tgz \ + && cd /usr/src/Python-2.7.11 \ + && ./configure \ + && make altinstall \ + && cd /usr/src \ + && wget --no-check-certificate https://pypi.python.org/packages/source/s/setuptools/setuptools-11.3.tar.gz -O /usr/src/setuptools-11.3.tar.gz \ + && tar xvf setuptools-11.3.tar.gz \ + && rm setuptools-11.3.tar.gz \ + && cd /usr/src/setuptools-11.3 \ + && python2.7 setup.py install \ + && easy_install-2.7 pip \ + # install ansible and set the configuration var \ + && pip2.7 install \ + ansible==2.0.0.2 \ + boto \ + # java \ + && yum install -y \ + java-1.8.0-openjdk \ + java-1.8.0-openjdk-devel \ + which \ + nss \ + && cd /usr/src \ + # setup maven \ + && wget http://apache.cs.utah.edu/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz \ + && tar xzvf apache-maven-3.3.9-bin.tar.gz \ + && rm apache-maven-3.3.9-bin.tar.gz \ + && mv apache-maven-3.3.9 /opt/maven \ + && ln -s /opt/maven/bin/mvn /usr/bin/mvn \ + # install rpm tools required to build rpms \ + && yum install -y \ + asciidoc \ + rpm-build \ + rpm2cpio \ + tar \ + unzip \ + xmlto \ + zip \ + rpmlint \ + make \ + # create a .bashrc for root, enabling the cpp 11 toolset \ + && touch /root/.bashrc \ + && echo '/opt/rh/devtoolset-4/enable' >> /root/.bashrc \ + # install node so that the node dependencies can be packaged into the RPMs \ + && curl --silent --location https://rpm.nodesource.com/setup_6.x | bash - \ + && yum install -y \ + nodejs \ + # Remove packages just needed for builds \ + && yum remove -y \ + wget \ + # Clean up yum caches \ + && yum clean all + +WORKDIR /root diff --git a/metron-deployment/packaging/docker/deb-docker/Dockerfile b/metron-deployment/packaging/docker/deb-docker/Dockerfile index 44203c6fb2..5169efcf91 100644 --- a/metron-deployment/packaging/docker/deb-docker/Dockerfile +++ b/metron-deployment/packaging/docker/deb-docker/Dockerfile @@ -18,16 +18,17 @@ FROM ubuntu:trusty # install prerequisites -RUN apt-get update && apt-get install -y \ - build-essential \ - openjdk-7-jdk \ - wget \ - curl \ - dpkg-dev \ - gettext - -# install nodejs so that the node dependencies can be packaged into the DEBs -RUN curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash - -RUN apt-get install -y nodejs +RUN apt-get update \ + && apt-get install -y \ + build-essential \ + openjdk-7-jdk \ + curl \ + dpkg-dev \ + gettext \ + # install nodejs so that the node dependencies can be packaged into the DEBs \ + && curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash - \ + && apt-get install -y \ + nodejs \ + && apt-get clean WORKDIR /root diff --git a/metron-deployment/packaging/docker/rpm-docker/Dockerfile b/metron-deployment/packaging/docker/rpm-docker/Dockerfile index a2dae8e04b..f151678ea0 100644 --- a/metron-deployment/packaging/docker/rpm-docker/Dockerfile +++ b/metron-deployment/packaging/docker/rpm-docker/Dockerfile @@ -17,17 +17,37 @@ FROM centos:centos6 -RUN yum install -y tar -RUN yum install -y wget -RUN yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel -WORKDIR /usr/src -RUN wget http://apache.cs.utah.edu/maven/maven-3/3.2.5/binaries/apache-maven-3.2.5-bin.tar.gz -RUN tar xzvf apache-maven-3.2.5-bin.tar.gz -RUN mv apache-maven-3.2.5 /opt/maven -RUN ln -s /opt/maven/bin/mvn /usr/bin/mvn -RUN yum -y install asciidoc rpm-build rpm2cpio tar unzip xmlto zip rpmlint && yum clean all -WORKDIR /root +RUN yum install -y \ + tar \ + wget \ + java-1.8.0-openjdk \ + java-1.8.0-openjdk-devel \ + && cd /usr/src \ + && wget http://apache.cs.utah.edu/maven/maven-3/3.2.5/binaries/apache-maven-3.2.5-bin.tar.gz \ + && tar xzvf apache-maven-3.2.5-bin.tar.gz \ + && rm apache-maven-3.2.5-bin.tar.gz \ + && mv apache-maven-3.2.5 /opt/maven \ + && ln -s /opt/maven/bin/mvn /usr/bin/mvn \ + && yum install -y \ + asciidoc \ + rpm-build \ + rpm2cpio \ + tar \ + unzip \ + xmlto \ + zip \ + rpmlint \ + # install node so that the node dependencies can be packaged into the RPMs \ + && cd /root \ + && curl --silent --location https://rpm.nodesource.com/setup_6.x | bash - \ + && yum install -y \ + gcc-c++ \ + make \ + nodejs \ + # Remove packages just needed for builds \ + && yum remove -y \ + wget \ + # Clean up yum caches \ + && yum clean all -# install node so that the node dependencies can be packaged into the RPMs -RUN curl --silent --location https://rpm.nodesource.com/setup_6.x | bash - -RUN yum -y install gcc-c++ make nodejs +WORKDIR /root