Repository: nifi
Updated Branches:
  refs/heads/master a9529adab -> 3da8b94dd


NIFI-4057 Docker Image is twice as large as necessary

  * Merging unnecessary layers
  * MAINTAINER is deprecated
  * Using JRE as base since JDK is not necessary
  * Set GID=1000 since openjdk image already defines 50
  * Add ability to specify Apache mirror site to reduce load on Apache Archive
  * Created templates directory since this is not included in the binary

This closes #1910.

Signed-off-by: Aldrin Piri <[email protected]>


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

Branch: refs/heads/master
Commit: 3da8b94dddc3b08ecbf10f368240dd1b3e992bbf
Parents: a9529ad
Author: Jordan Moore <[email protected]>
Authored: Sun Jun 11 14:22:51 2017 -0500
Committer: Aldrin Piri <[email protected]>
Committed: Mon Jul 17 17:18:32 2017 -0400

----------------------------------------------------------------------
 nifi-docker/dockerhub/DockerBuild.sh | 11 +++++---
 nifi-docker/dockerhub/Dockerfile     | 45 ++++++++++++++++---------------
 nifi-docker/dockermaven/Dockerfile   | 25 ++++++++---------
 nifi-docker/pom.xml                  |  2 +-
 4 files changed, 45 insertions(+), 38 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/nifi/blob/3da8b94d/nifi-docker/dockerhub/DockerBuild.sh
----------------------------------------------------------------------
diff --git a/nifi-docker/dockerhub/DockerBuild.sh 
b/nifi-docker/dockerhub/DockerBuild.sh
index 29afc7a..2285aac 100755
--- a/nifi-docker/dockerhub/DockerBuild.sh
+++ b/nifi-docker/dockerhub/DockerBuild.sh
@@ -20,12 +20,17 @@ if [ -n "$1" ]; then
   DOCKER_UID="$1"
 fi
 
-DOCKER_GID=50
+DOCKER_GID=1000
 if [ -n "$2" ]; then
   DOCKER_GID="$2"
 fi
 
+MIRROR=https://archive.apache.org/dist
+if [ -n "$3" ]; then
+  MIRROR="$3"
+fi
+
 DOCKER_IMAGE="$(egrep -v '(^#|^\s*$|^\s*\t*#)' DockerImage.txt)"
 NIFI_IMAGE_VERSION="$(echo $DOCKER_IMAGE | cut -d : -f 2)"
-echo "Building NiFi Image: '$DOCKER_IMAGE' Version: $NIFI_IMAGE_VERSION"
-docker build --build-arg UID="$DOCKER_UID" --build-arg GID="$DOCKER_GID" 
--build-arg NIFI_VERSION="$NIFI_IMAGE_VERSION" -t $DOCKER_IMAGE .
\ No newline at end of file
+echo "Building NiFi Image: '$DOCKER_IMAGE' Version: $NIFI_IMAGE_VERSION 
Mirror: $MIRROR"
+docker build --build-arg UID="$DOCKER_UID" --build-arg GID="$DOCKER_GID" 
--build-arg NIFI_VERSION="$NIFI_IMAGE_VERSION" --build-arg MIRROR="$MIRROR" -t 
$DOCKER_IMAGE .

http://git-wip-us.apache.org/repos/asf/nifi/blob/3da8b94d/nifi-docker/dockerhub/Dockerfile
----------------------------------------------------------------------
diff --git a/nifi-docker/dockerhub/Dockerfile b/nifi-docker/dockerhub/Dockerfile
index 548e577..3c2abc5 100644
--- a/nifi-docker/dockerhub/Dockerfile
+++ b/nifi-docker/dockerhub/Dockerfile
@@ -16,37 +16,38 @@
 # under the License.
 #
 
-FROM openjdk:8
-MAINTAINER Apache NiFi <[email protected]>
+FROM openjdk:8-jre
+LABEL maintainer "Apache NiFi <[email protected]>"
 
 ARG UID=1000
-ARG GID=50
+ARG GID=1000
 ARG NIFI_VERSION=1.4.0
+ARG MIRROR=https://archive.apache.org/dist
 
-ENV NIFI_BASE_DIR /opt/nifi
-ENV NIFI_HOME $NIFI_BASE_DIR/nifi-$NIFI_VERSION
-ENV NIFI_BINARY_URL 
https://archive.apache.org/dist/nifi/$NIFI_VERSION/nifi-$NIFI_VERSION-bin.tar.gz
+ENV NIFI_BASE_DIR /opt/nifi 
+ENV NIFI_HOME=$NIFI_BASE_DIR/nifi-$NIFI_VERSION \
+    NIFI_BINARY_URL=/nifi/$NIFI_VERSION/nifi-$NIFI_VERSION-bin.tar.gz
 
 # Setup NiFi user
-RUN groupadd -g $GID nifi || groupmod -n nifi `getent group $GID | cut -d: -f1`
-RUN useradd --shell /bin/bash -u $UID -g $GID -m nifi
-RUN mkdir -p $NIFI_HOME
+RUN groupadd -g $GID nifi || groupmod -n nifi `getent group $GID | cut -d: 
-f1` \
+    && useradd --shell /bin/bash -u $UID -g $GID -m nifi \
+    && mkdir -p $NIFI_HOME/conf/templates \
+    && chown -R nifi:nifi $NIFI_BASE_DIR
 
-# Download, validate, and expand Apache NiFi binary.
-RUN curl -fSL $NIFI_BINARY_URL -o $NIFI_BASE_DIR/nifi-$NIFI_VERSION-bin.tar.gz 
\
-       && echo "$(curl $NIFI_BINARY_URL.sha256) 
*$NIFI_BASE_DIR/nifi-$NIFI_VERSION-bin.tar.gz" | sha256sum -c - \
-       && tar -xvzf $NIFI_BASE_DIR/nifi-$NIFI_VERSION-bin.tar.gz -C 
$NIFI_BASE_DIR \
-       && rm $NIFI_BASE_DIR/nifi-$NIFI_VERSION-bin.tar.gz
-
-RUN chown -R nifi:nifi $NIFI_HOME
+USER nifi
 
-# Web HTTP Port
-EXPOSE 8080
+# Download, validate, and expand Apache NiFi binary.
+RUN curl -fSL $MIRROR/$NIFI_BINARY_URL -o 
$NIFI_BASE_DIR/nifi-$NIFI_VERSION-bin.tar.gz \
+    && echo "$(curl https://archive.apache.org/dist/$NIFI_BINARY_URL.sha256) 
*$NIFI_BASE_DIR/nifi-$NIFI_VERSION-bin.tar.gz" | sha256sum -c - \
+    && tar -xvzf $NIFI_BASE_DIR/nifi-$NIFI_VERSION-bin.tar.gz -C 
$NIFI_BASE_DIR \
+    && rm $NIFI_BASE_DIR/nifi-$NIFI_VERSION-bin.tar.gz \
+    && chown -R nifi:nifi $NIFI_HOME
 
-# Remote Site-To-Site Port
-EXPOSE 8181
+# Web HTTP Port & Remote Site-to-Site Ports
+EXPOSE 8080 8181
 
-USER nifi
+WORKDIR $NIFI_HOME
 
 # Startup NiFi
-CMD $NIFI_HOME/bin/nifi.sh run
+ENTRYPOINT ["bin/nifi.sh"]
+CMD ["run"]

http://git-wip-us.apache.org/repos/asf/nifi/blob/3da8b94d/nifi-docker/dockermaven/Dockerfile
----------------------------------------------------------------------
diff --git a/nifi-docker/dockermaven/Dockerfile 
b/nifi-docker/dockermaven/Dockerfile
index bb56b96..daecdd9 100644
--- a/nifi-docker/dockermaven/Dockerfile
+++ b/nifi-docker/dockermaven/Dockerfile
@@ -16,11 +16,11 @@
 # under the License.
 #
 
-FROM openjdk:8
-MAINTAINER Apache NiFi <[email protected]>
+FROM openjdk:8-jre
+LABEL maintainer "Apache NiFi <[email protected]>"
 
 ARG UID=1000
-ARG GID=50
+ARG GID=1000
 ARG NIFI_VERSION
 ARG NIFI_BINARY
 
@@ -28,20 +28,21 @@ ENV NIFI_BASE_DIR /opt/nifi
 ENV NIFI_HOME $NIFI_BASE_DIR/nifi-$NIFI_VERSION
 
 # Setup NiFi user
-RUN groupadd -g $GID nifi || groupmod -n nifi `getent group $GID | cut -d: -f1`
-RUN useradd --shell /bin/bash -u $UID -g $GID -m nifi
-RUN mkdir -p $NIFI_HOME 
+RUN groupadd -g $GID nifi || groupmod -n nifi `getent group $GID | cut -d: 
-f1` \
+    && useradd --shell /bin/bash -u $UID -g $GID -m nifi \
+    && mkdir -p $NIFI_HOME/conf/templates \
+    && chown -R nifi:nifi $NIFI_BASE_DIR
 
 ADD $NIFI_BINARY $NIFI_BASE_DIR
 RUN chown -R nifi:nifi $NIFI_HOME
 
-# Web HTTP Port
-EXPOSE 8080
+USER nifi
 
-# Remote Site-To-Site Port
-EXPOSE 8181
+# Web HTTP Port & Remote Site-to-Site Ports
+EXPOSE 8080 8181
 
-USER nifi
+WORKDIR $NIFI_HOME
 
 # Startup NiFi
-CMD $NIFI_HOME/bin/nifi.sh run
+ENTRYPOINT ["bin/nifi.sh"]
+CMD ["run"]

http://git-wip-us.apache.org/repos/asf/nifi/blob/3da8b94d/nifi-docker/pom.xml
----------------------------------------------------------------------
diff --git a/nifi-docker/pom.xml b/nifi-docker/pom.xml
index 526a769..ab41a6d 100644
--- a/nifi-docker/pom.xml
+++ b/nifi-docker/pom.xml
@@ -24,7 +24,7 @@ language governing permissions and limitations under the 
License. -->
     <packaging>pom</packaging>
 
     <properties>
-        <nifi.version>1.2.0-SNAPSHOT</nifi.version>
+        <nifi.version>1.4.0-SNAPSHOT</nifi.version>
     </properties>
 
     <profiles>

Reply via email to