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