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