You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@metron.apache.org by rm...@apache.org on 2018/08/06 16:10:03 UTC

[2/4] metron git commit: METRON-1650 Packaging docker containers are too large (jameslamb via merrimanr) closes apache/metron#1091

METRON-1650 Packaging docker containers are too large (jameslamb via merrimanr) closes apache/metron#1091


Project: http://git-wip-us.apache.org/repos/asf/metron/repo
Commit: http://git-wip-us.apache.org/repos/asf/metron/commit/a1e25a4b
Tree: http://git-wip-us.apache.org/repos/asf/metron/tree/a1e25a4b
Diff: http://git-wip-us.apache.org/repos/asf/metron/diff/a1e25a4b

Branch: refs/heads/feature/METRON-1554-pcap-query-panel
Commit: a1e25a4bf618e544b2062bf7f7f25bec0029956a
Parents: 4e1dd5d
Author: jameslamb <ja...@gmail.com>
Authored: Fri Jul 27 15:06:40 2018 -0500
Committer: rmerriman <me...@gmail.com>
Committed: Fri Jul 27 15:06:40 2018 -0500

----------------------------------------------------------------------
 .../packaging/docker/ansible-docker/Dockerfile  | 118 ++++++++++++-------
 .../packaging/docker/deb-docker/Dockerfile      |  23 ++--
 .../packaging/docker/rpm-docker/Dockerfile      |  46 ++++++--
 3 files changed, 120 insertions(+), 67 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/metron/blob/a1e25a4b/metron-deployment/packaging/docker/ansible-docker/Dockerfile
----------------------------------------------------------------------
diff --git a/metron-deployment/packaging/docker/ansible-docker/Dockerfile b/metron-deployment/packaging/docker/ansible-docker/Dockerfile
index ebf002a..df3aeb5 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

http://git-wip-us.apache.org/repos/asf/metron/blob/a1e25a4b/metron-deployment/packaging/docker/deb-docker/Dockerfile
----------------------------------------------------------------------
diff --git a/metron-deployment/packaging/docker/deb-docker/Dockerfile b/metron-deployment/packaging/docker/deb-docker/Dockerfile
index 44203c6..5169efc 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

http://git-wip-us.apache.org/repos/asf/metron/blob/a1e25a4b/metron-deployment/packaging/docker/rpm-docker/Dockerfile
----------------------------------------------------------------------
diff --git a/metron-deployment/packaging/docker/rpm-docker/Dockerfile b/metron-deployment/packaging/docker/rpm-docker/Dockerfile
index a2dae8e..f151678 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