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>
