You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by kd...@apache.org on 2022/11/16 01:10:29 UTC

[nifi] branch main updated: NIFI-10701 Update MiNiFi docker base images to eclipse-temurin

This is an automated email from the ASF dual-hosted git repository.

kdoran pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi.git


The following commit(s) were added to refs/heads/main by this push:
     new 709110da35 NIFI-10701 Update MiNiFi docker base images to eclipse-temurin
709110da35 is described below

commit 709110da35f4f2cc91a916d0663742c594cba126
Author: Ferenc Kis <br...@gmail.com>
AuthorDate: Thu Oct 27 10:10:46 2022 +0200

    NIFI-10701 Update MiNiFi docker base images to eclipse-temurin
    
    This closes 6587.
    
    Signed-off-by: Kevin Doran <kd...@apache.org>
---
 .../minifi-c2-docker/dockerhub/DockerBuild.sh      | 20 ++-----
 .../minifi-c2-docker/dockerhub/DockerImage.txt     |  2 +-
 .../minifi-c2-docker/dockerhub/DockerRun.sh        |  6 +-
 .../minifi-c2-docker/dockerhub/Dockerfile          | 14 +++--
 .../minifi-c2-docker/dockermaven/Dockerfile        | 11 ++--
 minifi/minifi-docker/dockerhub/DockerBuild.sh      | 20 ++-----
 minifi/minifi-docker/dockerhub/DockerImage.txt     |  2 +-
 minifi/minifi-docker/dockerhub/DockerRun.sh        |  4 +-
 minifi/minifi-docker/dockerhub/Dockerfile          | 15 ++---
 minifi/minifi-docker/dockerhub/README.md           | 13 ++---
 .../minifi-docker/dockerhub_ARM64/DockerBuild.sh   | 31 ----------
 .../minifi-docker/dockerhub_ARM64/DockerImage.txt  | 16 ------
 minifi/minifi-docker/dockerhub_ARM64/DockerRun.sh  | 19 -------
 minifi/minifi-docker/dockerhub_ARM64/Dockerfile    | 54 ------------------
 minifi/minifi-docker/dockerhub_ARM64/README.md     | 66 ----------------------
 minifi/minifi-docker/dockerhub_ARM64/sh/start.sh   | 26 ---------
 minifi/minifi-docker/dockermaven/Dockerfile        | 11 ++--
 minifi/minifi-docker/pom.xml                       |  4 +-
 .../src/test/resources/Dockerfile.minifi.test      |  3 +-
 .../src/test/resources/Dockerfile.minific2.test    |  3 +-
 .../resources/docker-compose-c2-hierarchical.yml   |  6 +-
 .../test/resources/docker-compose-c2-protocol.yml  |  6 +-
 .../resources/docker-compose-v1-standalone.yml     |  2 +-
 .../src/test/resources/tailFileServer.py           |  7 +--
 24 files changed, 67 insertions(+), 294 deletions(-)

diff --git a/minifi/minifi-c2/minifi-c2-docker/dockerhub/DockerBuild.sh b/minifi/minifi-c2/minifi-c2-docker/dockerhub/DockerBuild.sh
index 7a64a3d2fc..7b5d6853bd 100755
--- a/minifi/minifi-c2/minifi-c2-docker/dockerhub/DockerBuild.sh
+++ b/minifi/minifi-c2/minifi-c2-docker/dockerhub/DockerBuild.sh
@@ -1,3 +1,4 @@
+#!/bin/sh
 # Licensed to the Apache Software Foundation (ASF) under one or more
 # contributor license agreements.  See the NOTICE file distributed with
 # this work for additional information regarding copyright ownership.
@@ -13,19 +14,10 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-#!/bin/sh
-
-DOCKER_UID=1000
-if [ -n "$1" ]; then
-  DOCKER_UID="$1"
-fi
-
-DOCKER_GID=50
-if [ -n "$2" ]; then
-  DOCKER_GID="$2"
-fi
+DOCKER_UID="${1:-1000}"
+DOCKER_GID="${2:-1000}"
 
-DOCKER_IMAGE="$(egrep -v '(^#|^\s*$|^\s*\t*#)' DockerImage.txt)"
-MINIFI_C2_IMAGE_VERSION="$(echo $DOCKER_IMAGE | cut -d : -f 2)"
+DOCKER_IMAGE="$(grep -Ev '(^#|^\s*$|^\s*\t*#)' DockerImage.txt)"
+MINIFI_C2_IMAGE_VERSION="$(echo "$DOCKER_IMAGE" | cut -d : -f 2)"
 echo "Building MiNiFi C2 Server Image: '$DOCKER_IMAGE' Version: $MINIFI_C2_IMAGE_VERSION"
-docker build --build-arg UID="$DOCKER_UID" --build-arg GID="$DOCKER_GID" --build-arg MINIFI_C2_VERSION="$MINIFI_C2_IMAGE_VERSION" -t $DOCKER_IMAGE .
+docker build --build-arg UID="$DOCKER_UID" --build-arg GID="$DOCKER_GID" --build-arg MINIFI_C2_VERSION="$MINIFI_C2_IMAGE_VERSION" -t "$DOCKER_IMAGE" .
diff --git a/minifi/minifi-c2/minifi-c2-docker/dockerhub/DockerImage.txt b/minifi/minifi-c2/minifi-c2-docker/dockerhub/DockerImage.txt
index 806ff45025..88019ea3b4 100644
--- a/minifi/minifi-c2/minifi-c2-docker/dockerhub/DockerImage.txt
+++ b/minifi/minifi-c2/minifi-c2-docker/dockerhub/DockerImage.txt
@@ -13,4 +13,4 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-apache/nifi-minifi-c2:0.6.0
+apache/nifi-minifi-c2:1.19.0
diff --git a/minifi/minifi-c2/minifi-c2-docker/dockerhub/DockerRun.sh b/minifi/minifi-c2/minifi-c2-docker/dockerhub/DockerRun.sh
index a491927084..24c9cfb1cd 100755
--- a/minifi/minifi-c2/minifi-c2-docker/dockerhub/DockerRun.sh
+++ b/minifi/minifi-c2/minifi-c2-docker/dockerhub/DockerRun.sh
@@ -1,3 +1,4 @@
+#!/bin/sh
 # Licensed to the Apache Software Foundation (ASF) under one or more
 # contributor license agreements.  See the NOTICE file distributed with
 # this work for additional information regarding copyright ownership.
@@ -13,7 +14,6 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-#!/bin/sh
-DOCKER_IMAGE="$(egrep -v '(^#|^\s*$|^\s*\t*#)' DockerImage.txt)"
+DOCKER_IMAGE="$(grep -Ev '(^#|^\s*$|^\s*\t*#)' DockerImage.txt)"
 echo "Running Docker Image: $DOCKER_IMAGE"
-docker run -it -d $DOCKER_IMAGE
+docker run -it -d "$DOCKER_IMAGE"
diff --git a/minifi/minifi-c2/minifi-c2-docker/dockerhub/Dockerfile b/minifi/minifi-c2/minifi-c2-docker/dockerhub/Dockerfile
index 538d5981e2..1b98775d8d 100644
--- a/minifi/minifi-c2/minifi-c2-docker/dockerhub/Dockerfile
+++ b/minifi/minifi-c2/minifi-c2-docker/dockerhub/Dockerfile
@@ -16,13 +16,13 @@
 # under the License.
 #
 
-FROM openjdk:8-jre-alpine
+FROM eclipse-temurin:8-jre
 LABEL maintainer="Apache NiFi <de...@nifi.apache.org>"
 LABEL site="https://nifi.apache.org"
 
 ARG UID=1000
-ARG GID=50
-ARG MINIFI_C2_VERSION=1.17.0
+ARG GID=1000
+ARG MINIFI_C2_VERSION=1.19.0
 ARG MIRROR=https://archive.apache.org/dist
 
 ENV MINIFI_C2_BASE_DIR /opt/minifi-c2
@@ -32,12 +32,14 @@ ENV MINIFI_C2_BINARY_PATH nifi/${MINIFI_C2_VERSION}/${MINIFI_C2_BINARY}
 ENV MINIFI_C2_BINARY_URL ${MIRROR}/${MINIFI_C2_BINARY_PATH}
 
 # Setup MiNiFi user
-RUN addgroup -g $GID c2 || groupmod -n c2 `getent group $GID | cut -d: -f1`
-RUN adduser -S -H -G c2 c2
+RUN addgroup -gid $GID c2 || groupmod -n c2 $(getent group $GID | cut -d: -f1)
+RUN useradd -r -g c2 c2
 RUN mkdir -p $MINIFI_C2_HOME
 
 # Download, validate, and expand Apache MiNiFi C2 binary.
-RUN apk add curl \
+RUN apt-get update \
+    && apt-get install -y zip \
+    && rm -rf /var/lib/apt/lists/* \
     && curl -fSL $MINIFI_C2_BINARY_URL -o $MINIFI_C2_BASE_DIR/${MINIFI_C2_BINARY} \
 	&& echo "$(curl $MINIFI_C2_BINARY_URL.sha256) *$MINIFI_C2_BASE_DIR/${MINIFI_C2_BINARY}" | sha256sum -c - \
 	&& unzip $MINIFI_C2_BASE_DIR/${MINIFI_C2_BINARY} -d $MINIFI_C2_BASE_DIR \
diff --git a/minifi/minifi-c2/minifi-c2-docker/dockermaven/Dockerfile b/minifi/minifi-c2/minifi-c2-docker/dockermaven/Dockerfile
index 8adf1f4f14..db5344d7eb 100644
--- a/minifi/minifi-c2/minifi-c2-docker/dockermaven/Dockerfile
+++ b/minifi/minifi-c2/minifi-c2-docker/dockermaven/Dockerfile
@@ -16,11 +16,12 @@
 # under the License.
 #
 
-FROM openjdk:8-jre-alpine
-MAINTAINER Apache MiNiFi <de...@nifi.apache.org>
+FROM eclipse-temurin:8-jre
+LABEL maintainer="Apache NiFi <de...@nifi.apache.org>"
+LABEL site="https://nifi.apache.org"
 
 ARG UID=1000
-ARG GID=50
+ARG GID=1000
 ARG MINIFI_C2_VERSION
 ARG MINIFI_C2_BINARY
 
@@ -28,8 +29,8 @@ ENV MINIFI_C2_BASE_DIR /opt/minifi-c2
 ENV MINIFI_C2_HOME $MINIFI_C2_BASE_DIR/minifi-c2-$MINIFI_C2_VERSION
 
 # Setup MiNiFi C2 user
-RUN addgroup -g $GID c2 || groupmod -n c2 `getent group $GID | cut -d: -f1`
-RUN adduser -S -H -G c2 c2
+RUN addgroup -gid $GID c2 || groupmod -n c2 $(getent group $GID | cut -d: -f1)
+RUN useradd -r -g c2 c2
 RUN mkdir -p $MINIFI_C2_HOME
 
 ADD $MINIFI_C2_BINARY $MINIFI_C2_BASE_DIR
diff --git a/minifi/minifi-docker/dockerhub/DockerBuild.sh b/minifi/minifi-docker/dockerhub/DockerBuild.sh
index 69d0459767..0cb22ce3e9 100755
--- a/minifi/minifi-docker/dockerhub/DockerBuild.sh
+++ b/minifi/minifi-docker/dockerhub/DockerBuild.sh
@@ -1,3 +1,4 @@
+#!/bin/sh
 # Licensed to the Apache Software Foundation (ASF) under one or more
 # contributor license agreements.  See the NOTICE file distributed with
 # this work for additional information regarding copyright ownership.
@@ -13,19 +14,10 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-#!/bin/sh
-
-DOCKER_UID=1000
-if [ -n "$1" ]; then
-  DOCKER_UID="$1"
-fi
-
-DOCKER_GID=50
-if [ -n "$2" ]; then
-  DOCKER_GID="$2"
-fi
+DOCKER_UID="${1:-1000}"
+DOCKER_GID="${2:-1000}"
 
-DOCKER_IMAGE="$(egrep -v '(^#|^\s*$|^\s*\t*#)' DockerImage.txt)"
-MINIFI_IMAGE_VERSION="$(echo $DOCKER_IMAGE | cut -d : -f 2)"
+DOCKER_IMAGE="$(grep -Ev '(^#|^\s*$|^\s*\t*#)' DockerImage.txt)"
+MINIFI_IMAGE_VERSION="$(echo "$DOCKER_IMAGE" | cut -d : -f 2)"
 echo "Building MiNiFi Image: '$DOCKER_IMAGE' Version: $MINIFI_IMAGE_VERSION"
-docker build --build-arg UID="$DOCKER_UID" --build-arg GID="$DOCKER_GID" --build-arg MINIFI_VERSION="$MINIFI_IMAGE_VERSION" -t $DOCKER_IMAGE .
+docker build --build-arg UID="$DOCKER_UID" --build-arg GID="$DOCKER_GID" --build-arg MINIFI_VERSION="$MINIFI_IMAGE_VERSION" -t "$DOCKER_IMAGE" .
diff --git a/minifi/minifi-docker/dockerhub/DockerImage.txt b/minifi/minifi-docker/dockerhub/DockerImage.txt
index 6d1141da90..9e6343b8f6 100644
--- a/minifi/minifi-docker/dockerhub/DockerImage.txt
+++ b/minifi/minifi-docker/dockerhub/DockerImage.txt
@@ -13,4 +13,4 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-apache/nifi-minifi:0.5.0
+apache/nifi-minifi:1.19.0
diff --git a/minifi/minifi-docker/dockerhub/DockerRun.sh b/minifi/minifi-docker/dockerhub/DockerRun.sh
index 1f5b3f0af7..dd65ca8622 100755
--- a/minifi/minifi-docker/dockerhub/DockerRun.sh
+++ b/minifi/minifi-docker/dockerhub/DockerRun.sh
@@ -14,6 +14,6 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-DOCKER_IMAGE="$(egrep -v '(^#|^\s*$|^\s*\t*#)' DockerImage.txt)"
+DOCKER_IMAGE="$(grep -Ev '(^#|^\s*$|^\s*\t*#)' DockerImage.txt)"
 echo "Running Docker Image: $DOCKER_IMAGE"
-docker run -it -d $DOCKER_IMAGE
\ No newline at end of file
+docker run -it -d "$DOCKER_IMAGE"
\ No newline at end of file
diff --git a/minifi/minifi-docker/dockerhub/Dockerfile b/minifi/minifi-docker/dockerhub/Dockerfile
index 20bb05174c..c38573a11f 100644
--- a/minifi/minifi-docker/dockerhub/Dockerfile
+++ b/minifi/minifi-docker/dockerhub/Dockerfile
@@ -16,13 +16,13 @@
 # under the License.
 #
 
-FROM openjdk:8-jre-alpine
+FROM eclipse-temurin:8-jre
 LABEL maintainer="Apache NiFi <de...@nifi.apache.org>"
 LABEL site="https://nifi.apache.org"
 
 ARG UID=1000
 ARG GID=1000
-ARG MINIFI_VERSION=1.17.0
+ARG MINIFI_VERSION=1.19.0
 ARG MIRROR=https://archive.apache.org/dist
 
 ENV MINIFI_BASE_DIR /opt/minifi
@@ -32,16 +32,17 @@ ENV MINIFI_BINARY_PATH nifi/${MINIFI_VERSION}/${MINIFI_BINARY}
 ENV MINIFI_BINARY_URL ${MIRROR}/${MINIFI_BINARY_PATH}
 
 # Setup MiNiFi user
-RUN addgroup -g $GID minifi || groupmod -n minifi `getent group $GID | cut -d: -f1`
-RUN adduser -S -H -G minifi minifi
+RUN addgroup -gid $GID minifi || groupmod -n minifi $(getent group $GID | cut -d: -f1)
+RUN useradd -r -g minifi minifi
 RUN mkdir -p $MINIFI_BASE_DIR
 
-RUN apk --no-cache add curl
-
 ADD sh/ ${MINIFI_BASE_DIR}/scripts/
 
 # Download, validate, and expand Apache MiNiFi binary.
-RUN curl -fSL $MINIFI_BINARY_URL -o $MINIFI_BASE_DIR/${MINIFI_BINARY} \
+RUN apt-get update \
+    && apt-get install -y zip \
+    && rm -rf /var/lib/apt/lists/* \
+    && curl -fSL $MINIFI_BINARY_URL -o $MINIFI_BASE_DIR/${MINIFI_BINARY} \
 	&& echo "$(curl $MINIFI_BINARY_URL.sha256) *$MINIFI_BASE_DIR/${MINIFI_BINARY}" | sha256sum -c - \
 	&& unzip $MINIFI_BASE_DIR/${MINIFI_BINARY} -d $MINIFI_BASE_DIR \
 	&& rm $MINIFI_BASE_DIR/${MINIFI_BINARY} \
diff --git a/minifi/minifi-docker/dockerhub/README.md b/minifi/minifi-docker/dockerhub/README.md
index 44495e503b..703ec5d35e 100644
--- a/minifi/minifi-docker/dockerhub/README.md
+++ b/minifi/minifi-docker/dockerhub/README.md
@@ -24,13 +24,12 @@ The Docker image can be built using the following command:
 
 This build will result in an image tagged apache/nifi:latest
 
-    # user @ puter in ~/Development/code/apache/nifi-minifi/minifi-docker/dockerhub
     $ docker images
     REPOSITORY               TAG                 IMAGE ID            CREATED                 SIZE
     apache/nifi-minifi              latest              f0f564eed149        A long, long time ago   226MB
 
 **Note**: The default version of NiFi specified by the Dockerfile is typically that of one that is unreleased if working from source.
-To build an image for a prior released version, one can override the `NIFI_VERSION` build-arg with the following command:
+To build an image for a prior released version, one can override the `MINIFI_VERSION` build-arg with the following command:
     
     docker build --build-arg=MINIFI_VERSION={Desired MiNiFi Version} -t apache/nifi-minifi:latest .
 
@@ -47,17 +46,17 @@ This can be accomplished through:
 The following example shows the usage of two volumes to provide both a `config.yml` and a `bootstrap.conf` to the container instance.  This makes use of configuration files on the host and maps them to be used by the MiNiFi instance.  This is helpful in scenarios where a single image is used for a variety of configurations.
 
     docker run -d \
-        -v ~/minifi-conf/config.yml:/opt/minifi/minifi-0.5.0/conf/config.yml \
-        -v ~/minifi-conf/bootstrap.conf:/opt/minifi/minifi-0.5.0/conf/bootstrap.conf \
-        apache/nifi-minifi:0.5.0
+        -v ~/minifi-conf/config.yml:/opt/minifi/minifi-current/conf/config.yml \
+        -v ~/minifi-conf/bootstrap.conf:/opt/minifi/minifi-current/conf/bootstrap.conf \
+        apache/nifi-minifi:latest
         
 #### Using volumes to provide configuration
 Alternatively, it is possible to create a custom image inheriting from the published image.  Creating a `Dockerfile` extending from the Apache NiFi MiNiFi base image allows users to overlay the configuration permanently into a newly built and custom image.  A simple example follows:
 
     FROM apache/nifi-minifi
     
-    ADD config.yml /opt/minifi/minifi-0.5.0/conf/config.yml
-    ADD bootstrap.conf /opt/minifi/minifi-0.5.0/conf/bootstrap.conf
+    ADD config.yml /opt/minifi/minifi-current/conf/config.yml
+    ADD bootstrap.conf /opt/minifi/minifi-current/conf/bootstrap.conf
     
 Building this `Dockerfile` will result in a custom image with the specified configuration files incorporated into the new image.  This is best for applications where configuration is well defined and relatively static.
 
diff --git a/minifi/minifi-docker/dockerhub_ARM64/DockerBuild.sh b/minifi/minifi-docker/dockerhub_ARM64/DockerBuild.sh
deleted file mode 100755
index 69d0459767..0000000000
--- a/minifi/minifi-docker/dockerhub_ARM64/DockerBuild.sh
+++ /dev/null
@@ -1,31 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-#!/bin/sh
-
-DOCKER_UID=1000
-if [ -n "$1" ]; then
-  DOCKER_UID="$1"
-fi
-
-DOCKER_GID=50
-if [ -n "$2" ]; then
-  DOCKER_GID="$2"
-fi
-
-DOCKER_IMAGE="$(egrep -v '(^#|^\s*$|^\s*\t*#)' DockerImage.txt)"
-MINIFI_IMAGE_VERSION="$(echo $DOCKER_IMAGE | cut -d : -f 2)"
-echo "Building MiNiFi Image: '$DOCKER_IMAGE' Version: $MINIFI_IMAGE_VERSION"
-docker build --build-arg UID="$DOCKER_UID" --build-arg GID="$DOCKER_GID" --build-arg MINIFI_VERSION="$MINIFI_IMAGE_VERSION" -t $DOCKER_IMAGE .
diff --git a/minifi/minifi-docker/dockerhub_ARM64/DockerImage.txt b/minifi/minifi-docker/dockerhub_ARM64/DockerImage.txt
deleted file mode 100644
index 6d1141da90..0000000000
--- a/minifi/minifi-docker/dockerhub_ARM64/DockerImage.txt
+++ /dev/null
@@ -1,16 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-apache/nifi-minifi:0.5.0
diff --git a/minifi/minifi-docker/dockerhub_ARM64/DockerRun.sh b/minifi/minifi-docker/dockerhub_ARM64/DockerRun.sh
deleted file mode 100755
index 1f5b3f0af7..0000000000
--- a/minifi/minifi-docker/dockerhub_ARM64/DockerRun.sh
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/bin/sh
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-DOCKER_IMAGE="$(egrep -v '(^#|^\s*$|^\s*\t*#)' DockerImage.txt)"
-echo "Running Docker Image: $DOCKER_IMAGE"
-docker run -it -d $DOCKER_IMAGE
\ No newline at end of file
diff --git a/minifi/minifi-docker/dockerhub_ARM64/Dockerfile b/minifi/minifi-docker/dockerhub_ARM64/Dockerfile
deleted file mode 100644
index 175490b710..0000000000
--- a/minifi/minifi-docker/dockerhub_ARM64/Dockerfile
+++ /dev/null
@@ -1,54 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-#   http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-#
-
-FROM arm64v8/openjdk:8
-MAINTAINER Apache MiNiFi <de...@nifi.apache.org>
-
-ARG UID=1000
-ARG GID=1000
-ARG MINIFI_VERSION=1.16.0
-
-ENV MINIFI_BASE_DIR /opt/minifi
-ENV MINIFI_HOME $MINIFI_BASE_DIR/minifi-current
-ENV MINIFI_BINARY_URL https://archive.apache.org/dist/nifi/minifi/$MINIFI_VERSION/minifi-$MINIFI_VERSION-bin.tar.gz
-
-# Setup MiNiFi user
-RUN addgroup --gid $GID minifi || groupmod -n minifi `getent group $GID | cut -d: -f1`
-RUN useradd -r -g minifi minifi
-#RUN usermod -a minifi minifi
-RUN mkdir -p $MINIFI_BASE_DIR
-
-#RUN apk --no-cache add curl
-RUN apt-get install curl
-ADD sh/ ${MINIFI_BASE_DIR}/scripts/
-
-# Download, validate, and expand Apache MiNiFi binary.
-RUN curl -fSL $MINIFI_BINARY_URL -o $MINIFI_BASE_DIR/minifi-$MINIFI_VERSION-bin.tar.gz \
-	&& echo "$(curl $MINIFI_BINARY_URL.sha256) *$MINIFI_BASE_DIR/minifi-$MINIFI_VERSION-bin.tar.gz" | sha256sum -c - \
-	&& tar -xvzf $MINIFI_BASE_DIR/minifi-$MINIFI_VERSION-bin.tar.gz -C $MINIFI_BASE_DIR \
-	&& rm $MINIFI_BASE_DIR/minifi-$MINIFI_VERSION-bin.tar.gz \
-	&& ln -s $MINIFI_BASE_DIR/minifi-$MINIFI_VERSION $MINIFI_HOME
-
-RUN echo $MINIFI_BASE_DIR/minifi-current
-
-RUN chown -R -L minifi:minifi $MINIFI_HOME
-
-USER minifi
-
-# Startup MiNiFi
-CMD ${MINIFI_BASE_DIR}/scripts/start.sh
diff --git a/minifi/minifi-docker/dockerhub_ARM64/README.md b/minifi/minifi-docker/dockerhub_ARM64/README.md
deleted file mode 100644
index ad5450493f..0000000000
--- a/minifi/minifi-docker/dockerhub_ARM64/README.md
+++ /dev/null
@@ -1,66 +0,0 @@
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the "License"); you may not use this file except in compliance with
-  the License.  You may obtain a copy of the License at
-  
-      http://www.apache.org/licenses/LICENSE-2.0
-      
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
--->
-# Docker Image Quickstart
-
-  
-## Building
-The Docker image can be built using the following command:
-
-    docker build -t apache/nifi-minifi-arm64:latest .
-
-This build will result in an image tagged apache/nifi:latest
-
-    # user @ puter in ~/Development/code/apache/nifi-minifi/minifi-docker/dockerhub_ARM64
-    $ docker images
-    REPOSITORY               TAG                 IMAGE ID            CREATED                 SIZE
-    apache/nifi-minifi-arm64 latest                 ddc9dce6019e        About a minute ago   734MB
-**Note**: The default version of NiFi specified by the Dockerfile is typically that of one that is unreleased if working from source.
-To build an image for a prior released version, one can override the `NIFI_VERSION` build-arg with the following command:
-    
-    docker build --build-arg=MINIFI_VERSION={Desired MiNiFi Version} -t apache/nifi-minifi-arm64:latest .
-
-## Running a container
-
-### Supplying configuration to a container
-The primary means by which a MiNiFi instance is configured is via the `config.yml` or the `bootstrap.conf`.
-
-This can be accomplished through:
- * the use of volumes, and
-  * overlaying the base image
-
-#### Using volumes to provide configuration
-The following example shows the usage of two volumes to provide both a `config.yml` and a `bootstrap.conf` to the container instance.  This makes use of configuration files on the host and maps them to be used by the MiNiFi instance.  This is helpful in scenarios where a single image is used for a variety of configurations.
-
-    docker run -d \
-        -v ~/minifi-conf/config.yml:/opt/minifi/minifi-0.5.0/conf/config.yml \
-        -v ~/minifi-conf/bootstrap.conf:/opt/minifi/minifi-0.5.0/conf/bootstrap.conf \
-        apache/nifi-minifi-arm64:latest
-        
-#### Using volumes to provide configuration
-Alternatively, it is possible to create a custom image inheriting from the published image.  Creating a `Dockerfile` extending from the Apache NiFi MiNiFi base image allows users to overlay the configuration permanently into a newly built and custom image.  A simple example follows:
-
-    FROM apache/nifi-minifi-arm64
-    
-    ADD config.yml /opt/minifi/minifi-0.5.0/conf/config.yml
-    ADD bootstrap.conf /opt/minifi/minifi-0.5.0/conf/bootstrap.conf
-    
-Building this `Dockerfile` will result in a custom image with the specified configuration files incorporated into the new image.  This is best for applications where configuration is well defined and relatively static.
-
-For more information, please consult [Dockerfile Reference: FROM](https://docs.docker.com/engine/reference/builder/#from)
-
-
-
diff --git a/minifi/minifi-docker/dockerhub_ARM64/sh/start.sh b/minifi/minifi-docker/dockerhub_ARM64/sh/start.sh
deleted file mode 100755
index f1f19f9467..0000000000
--- a/minifi/minifi-docker/dockerhub_ARM64/sh/start.sh
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/bin/sh -e
-
-#    Licensed to the Apache Software Foundation (ASF) under one or more
-#    contributor license agreements.  See the NOTICE file distributed with
-#    this work for additional information regarding copyright ownership.
-#    The ASF licenses this file to You under the Apache License, Version 2.0
-#    (the "License"); you may not use this file except in compliance with
-#    the License.  You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-#    Unless required by applicable law or agreed to in writing, software
-#    distributed under the License is distributed on an "AS IS" BASIS,
-#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#    See the License for the specific language governing permissions and
-#    limitations under the License.
-
-# Continuously provide logs so that 'docker logs' can    produce them
-tail -F "${MINIFI_HOME}/logs/minifi-app.log" &
-"${MINIFI_HOME}/bin/minifi.sh" run &
-minifi_pid="$!"
-
-trap "echo Received trapped signal, beginning shutdown...;" KILL TERM HUP INT EXIT;
-
-echo MiNiFi running with PID ${minifi_pid}.
-wait ${minifi_pid}
\ No newline at end of file
diff --git a/minifi/minifi-docker/dockermaven/Dockerfile b/minifi/minifi-docker/dockermaven/Dockerfile
index 0b384441d4..255f35a3ec 100644
--- a/minifi/minifi-docker/dockermaven/Dockerfile
+++ b/minifi/minifi-docker/dockermaven/Dockerfile
@@ -16,10 +16,11 @@
 # under the License.
 #
 
-ARG IMAGE_NAME=openjdk
-ARG IMAGE_TAG=8-jre-alpine
+ARG IMAGE_NAME=eclipse-temurin
+ARG IMAGE_TAG=8-jre
 FROM ${IMAGE_NAME}:${IMAGE_TAG}
-MAINTAINER Apache MiNiFi <de...@nifi.apache.org>
+LABEL maintainer="Apache NiFi <de...@nifi.apache.org>"
+LABEL site="https://nifi.apache.org"
 
 # Values are set by Maven
 ARG UID
@@ -31,8 +32,8 @@ ENV MINIFI_BASE_DIR /opt/minifi
 ENV MINIFI_HOME $MINIFI_BASE_DIR/minifi-current
 
 # Setup MiNiFi user
-RUN addgroup -g $GID minifi || groupmod -n minifi `getent group $GID | cut -d: -f1`
-RUN adduser -S -H -G minifi minifi
+RUN addgroup -gid $GID minifi || groupmod -n minifi $(getent group $GID | cut -d: -f1)
+RUN useradd -r -g minifi minifi
 RUN mkdir -p $MINIFI_BASE_DIR
 
 ADD $MINIFI_BINARY $MINIFI_BASE_DIR
diff --git a/minifi/minifi-docker/pom.xml b/minifi/minifi-docker/pom.xml
index 5e59fd3e01..54b0b56ed5 100644
--- a/minifi/minifi-docker/pom.xml
+++ b/minifi/minifi-docker/pom.xml
@@ -30,8 +30,8 @@ limitations under the License.
 
     <properties>
         <minifi.version>${project.version}</minifi.version>
-        <docker.image.name>openjdk</docker.image.name>
-        <docker.image.tag>8-jre-alpine</docker.image.tag>
+        <docker.image.name>eclipse-temurin</docker.image.name>
+        <docker.image.tag>8-jre</docker.image.tag>
     </properties>
 
     <profiles>
diff --git a/minifi/minifi-integration-tests/src/test/resources/Dockerfile.minifi.test b/minifi/minifi-integration-tests/src/test/resources/Dockerfile.minifi.test
index f869f8611a..ba69a33e60 100644
--- a/minifi/minifi-integration-tests/src/test/resources/Dockerfile.minifi.test
+++ b/minifi/minifi-integration-tests/src/test/resources/Dockerfile.minifi.test
@@ -20,7 +20,6 @@ FROM apacheminifi:${minifi.version}
 
 USER root
 
-RUN apk update \
-    && apk add python
+RUN apt-get update && apt-get install -y python3
 
 USER minifi
\ No newline at end of file
diff --git a/minifi/minifi-integration-tests/src/test/resources/Dockerfile.minific2.test b/minifi/minifi-integration-tests/src/test/resources/Dockerfile.minific2.test
index 2a6cbd90cd..2ba5199034 100644
--- a/minifi/minifi-integration-tests/src/test/resources/Dockerfile.minific2.test
+++ b/minifi/minifi-integration-tests/src/test/resources/Dockerfile.minific2.test
@@ -19,7 +19,6 @@ FROM apacheminific2:${minifi.version}
 
 USER root
 
-RUN apk update \
-    && apk add python
+RUN apt-get update && apt-get install -y python3
 
 USER c2
\ No newline at end of file
diff --git a/minifi/minifi-integration-tests/src/test/resources/docker-compose-c2-hierarchical.yml b/minifi/minifi-integration-tests/src/test/resources/docker-compose-c2-hierarchical.yml
index e82c8f7461..3dc8702d01 100644
--- a/minifi/minifi-integration-tests/src/test/resources/docker-compose-c2-hierarchical.yml
+++ b/minifi/minifi-integration-tests/src/test/resources/docker-compose-c2-hierarchical.yml
@@ -56,7 +56,7 @@ services:
     entrypoint:
       - sh
       - -c
-      - /opt/minifi/minifi-${minifi.version}/bin/minifi.sh start && python /home/minifi/tailFileServer.py --file /opt/minifi/minifi-${minifi.version}/logs/minifi-app.log --file /opt/minifi/minifi-${minifi.version}/logs/minifi-bootstrap.log
+      - /opt/minifi/minifi-${minifi.version}/bin/minifi.sh start && python3 /home/minifi/tailFileServer.py --file /opt/minifi/minifi-${minifi.version}/logs/minifi-app.log --file /opt/minifi/minifi-${minifi.version}/logs/minifi-bootstrap.log
     networks:
       - edge1
 
@@ -93,7 +93,7 @@ services:
     entrypoint:
       - sh
       - -c
-      - /opt/minifi/minifi-${minifi.version}/bin/minifi.sh start && python /home/minifi/tailFileServer.py --file /opt/minifi/minifi-${minifi.version}/logs/minifi-app.log --file /opt/minifi/minifi-${minifi.version}/logs/minifi-bootstrap.log
+      - /opt/minifi/minifi-${minifi.version}/bin/minifi.sh start && python3 /home/minifi/tailFileServer.py --file /opt/minifi/minifi-${minifi.version}/logs/minifi-app.log --file /opt/minifi/minifi-${minifi.version}/logs/minifi-bootstrap.log
     networks:
       - edge2
 
@@ -126,7 +126,7 @@ services:
     entrypoint:
       - sh
       - -c
-      - /opt/minifi/minifi-${minifi.version}/bin/minifi.sh start && python /home/minifi/tailFileServer.py --file /opt/minifi/minifi-${minifi.version}/logs/minifi-app.log --file /opt/minifi/minifi-${minifi.version}/logs/minifi-bootstrap.log
+      - /opt/minifi/minifi-${minifi.version}/bin/minifi.sh start && python3 /home/minifi/tailFileServer.py --file /opt/minifi/minifi-${minifi.version}/logs/minifi-app.log --file /opt/minifi/minifi-${minifi.version}/logs/minifi-bootstrap.log
     networks:
       - edge3
 
diff --git a/minifi/minifi-integration-tests/src/test/resources/docker-compose-c2-protocol.yml b/minifi/minifi-integration-tests/src/test/resources/docker-compose-c2-protocol.yml
index 363d2053ea..99b1c83250 100644
--- a/minifi/minifi-integration-tests/src/test/resources/docker-compose-c2-protocol.yml
+++ b/minifi/minifi-integration-tests/src/test/resources/docker-compose-c2-protocol.yml
@@ -51,7 +51,7 @@ services:
     entrypoint:
       - sh
       - -c
-      - /opt/minifi/minifi-${minifi.version}/bin/minifi.sh start && python /home/minifi/tailFileServer.py --file /opt/minifi/minifi-${minifi.version}/logs/minifi-app.log
+      - /opt/minifi/minifi-${minifi.version}/bin/minifi.sh start && python3 /home/minifi/tailFileServer.py --file /opt/minifi/minifi-${minifi.version}/logs/minifi-app.log
     networks:
       - edge
 
@@ -71,7 +71,7 @@ services:
     entrypoint:
       - sh
       - -c
-      - /opt/minifi/minifi-${minifi.version}/bin/minifi.sh start && python /home/minifi/tailFileServer.py --file /opt/minifi/minifi-${minifi.version}/logs/minifi-app.log
+      - /opt/minifi/minifi-${minifi.version}/bin/minifi.sh start && python3 /home/minifi/tailFileServer.py --file /opt/minifi/minifi-${minifi.version}/logs/minifi-app.log
     networks:
       - edge
 
@@ -91,7 +91,7 @@ services:
     entrypoint:
       - sh
       - -c
-      - /opt/minifi/minifi-${minifi.version}/bin/minifi.sh start && python /home/minifi/tailFileServer.py --file /opt/minifi/minifi-${minifi.version}/logs/minifi-app.log
+      - /opt/minifi/minifi-${minifi.version}/bin/minifi.sh start && python3 /home/minifi/tailFileServer.py --file /opt/minifi/minifi-${minifi.version}/logs/minifi-app.log
     networks:
       - edge
 
diff --git a/minifi/minifi-integration-tests/src/test/resources/docker-compose-v1-standalone.yml b/minifi/minifi-integration-tests/src/test/resources/docker-compose-v1-standalone.yml
index 4ede7d988d..19686aa10a 100644
--- a/minifi/minifi-integration-tests/src/test/resources/docker-compose-v1-standalone.yml
+++ b/minifi/minifi-integration-tests/src/test/resources/docker-compose-v1-standalone.yml
@@ -33,4 +33,4 @@ services:
     entrypoint:
       - sh
       - -c
-      - /opt/minifi/minifi-${minifi.version}/bin/minifi.sh start && python /home/minifi/tailFileServer.py --file /opt/minifi/minifi-${minifi.version}/logs/minifi-app.log
\ No newline at end of file
+      - /opt/minifi/minifi-${minifi.version}/bin/minifi.sh start && python3 /home/minifi/tailFileServer.py --file /opt/minifi/minifi-${minifi.version}/logs/minifi-app.log
\ No newline at end of file
diff --git a/minifi/minifi-integration-tests/src/test/resources/tailFileServer.py b/minifi/minifi-integration-tests/src/test/resources/tailFileServer.py
index 6bfd92ea14..06fe1f3495 100644
--- a/minifi/minifi-integration-tests/src/test/resources/tailFileServer.py
+++ b/minifi/minifi-integration-tests/src/test/resources/tailFileServer.py
@@ -1,3 +1,4 @@
+#!/usr/bin/env python3
 # Licensed to the Apache Software Foundation (ASF) under one or more
 # contributor license agreements.  See the NOTICE file distributed with
 # this work for additional information regarding copyright ownership.
@@ -13,13 +14,11 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-#!/usr/bin/env python
-
 import logging
 
 from argparse import ArgumentParser
-from BaseHTTPServer import HTTPServer, BaseHTTPRequestHandler
-from SocketServer import ThreadingMixIn
+from http.server import HTTPServer, BaseHTTPRequestHandler
+from socketserver import ThreadingMixIn
 from subprocess import PIPE, Popen
 
 # Needs to be threaded or health check hangs the server