This is an automated email from the ASF dual-hosted git repository. alpinegizmo pushed a commit to branch release-2.3-dockerfiles in repository https://gitbox.apache.org/repos/asf/flink-docker.git
commit 9b48b775e86d92f8db48112fd048862662740f4d Author: David Anderson <[email protected]> AuthorDate: Mon Jun 22 16:23:07 2026 -0700 Update Dockerfiles for 2.3.0 release --- 2.0/scala_2.12-java11-ubuntu/release.metadata | 2 -- 2.0/scala_2.12-java17-ubuntu/release.metadata | 2 -- 2.0/scala_2.12-java21-ubuntu/release.metadata | 2 -- {2.0 => 2.3}/scala_2.12-java11-ubuntu/Dockerfile | 27 ++++------------------ .../scala_2.12-java11-ubuntu}/docker-entrypoint.sh | 25 ++++++++------------ 2.3/scala_2.12-java11-ubuntu/release.metadata | 2 ++ .../scala_2.12-java17-ubuntu}/Dockerfile | 27 ++++------------------ .../scala_2.12-java17-ubuntu}/docker-entrypoint.sh | 25 ++++++++------------ 2.3/scala_2.12-java17-ubuntu/release.metadata | 2 ++ .../scala_2.12-java21-ubuntu}/Dockerfile | 27 ++++------------------ .../scala_2.12-java21-ubuntu}/docker-entrypoint.sh | 25 ++++++++------------ 2.3/scala_2.12-java21-ubuntu/release.metadata | 2 ++ 12 files changed, 51 insertions(+), 117 deletions(-) diff --git a/2.0/scala_2.12-java11-ubuntu/release.metadata b/2.0/scala_2.12-java11-ubuntu/release.metadata deleted file mode 100644 index 700b30f..0000000 --- a/2.0/scala_2.12-java11-ubuntu/release.metadata +++ /dev/null @@ -1,2 +0,0 @@ -Tags: 2.0.2-scala_2.12-java11, 2.0-scala_2.12-java11, scala_2.12-java11, 2.0.2-java11, 2.0-java11, java11 -Architectures: amd64,arm64v8 diff --git a/2.0/scala_2.12-java17-ubuntu/release.metadata b/2.0/scala_2.12-java17-ubuntu/release.metadata deleted file mode 100644 index d5cbdf9..0000000 --- a/2.0/scala_2.12-java17-ubuntu/release.metadata +++ /dev/null @@ -1,2 +0,0 @@ -Tags: 2.0.2-scala_2.12-java17, 2.0-scala_2.12-java17, scala_2.12-java17, 2.0.2-scala_2.12, 2.0-scala_2.12, scala_2.12, 2.0.2-java17, 2.0-java17, java17, 2.0.2, 2.0, latest -Architectures: amd64,arm64v8 diff --git a/2.0/scala_2.12-java21-ubuntu/release.metadata b/2.0/scala_2.12-java21-ubuntu/release.metadata deleted file mode 100644 index 514e4bd..0000000 --- a/2.0/scala_2.12-java21-ubuntu/release.metadata +++ /dev/null @@ -1,2 +0,0 @@ -Tags: 2.0.2-scala_2.12-java21, 2.0-scala_2.12-java21, scala_2.12-java21, 2.0.2-java21, 2.0-java21, java21 -Architectures: amd64,arm64v8 diff --git a/2.0/scala_2.12-java11-ubuntu/Dockerfile b/2.3/scala_2.12-java11-ubuntu/Dockerfile similarity index 69% rename from 2.0/scala_2.12-java11-ubuntu/Dockerfile rename to 2.3/scala_2.12-java11-ubuntu/Dockerfile index fe64e61..88155ee 100644 --- a/2.0/scala_2.12-java11-ubuntu/Dockerfile +++ b/2.3/scala_2.12-java11-ubuntu/Dockerfile @@ -16,7 +16,7 @@ # limitations under the License. ############################################################################### -FROM eclipse-temurin:11-jre-jammy +FROM eclipse-temurin:11-jre-noble # Install dependencies RUN set -ex; \ @@ -24,28 +24,10 @@ RUN set -ex; \ apt-get -y install gpg libsnappy1v5 gettext-base libjemalloc-dev; \ rm -rf /var/lib/apt/lists/* -# Grab gosu for easy step-down from root -ENV GOSU_VERSION 1.11 -RUN set -ex; \ - wget -nv -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$(dpkg --print-architecture)"; \ - wget -nv -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$(dpkg --print-architecture).asc"; \ - export GNUPGHOME="$(mktemp -d)"; \ - for server in hkps://keys.openpgp.org $(shuf -e \ - keyserver.ubuntu.com \ - hkp://keyserver.ubuntu.com:80 \ - pgp.mit.edu) ; do \ - gpg --batch --keyserver "$server" --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4 && break || : ; \ - done && \ - gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu; \ - gpgconf --kill all; \ - rm -rf "$GNUPGHOME" /usr/local/bin/gosu.asc; \ - chmod +x /usr/local/bin/gosu; \ - gosu nobody true - # Configure Flink version -ENV FLINK_TGZ_URL=https://dlcdn.apache.org/flink/flink-2.0.2/flink-2.0.2-bin-scala_2.12.tgz \ - FLINK_ASC_URL=https://downloads.apache.org/flink/flink-2.0.2/flink-2.0.2-bin-scala_2.12.tgz.asc \ - GPG_KEY=F7529FAE24811A5C0DF3CA741596BBF0726835D8 \ +ENV FLINK_TGZ_URL=https://dlcdn.apache.org/flink/flink-2.3.0/flink-2.3.0-bin-scala_2.12.tgz \ + FLINK_ASC_URL=https://downloads.apache.org/flink/flink-2.3.0/flink-2.3.0-bin-scala_2.12.tgz.asc \ + GPG_KEY=E11F792053638C56C98ACFADB5B638DCA5F94E4A \ CHECK_GPG=true # Prepare environment @@ -88,6 +70,7 @@ RUN set -ex; \ "-rmKV" "taskmanager.host=localhost"; # Configure container +USER flink COPY docker-entrypoint.sh / ENTRYPOINT ["/docker-entrypoint.sh"] EXPOSE 6123 8081 diff --git a/2.0/scala_2.12-java21-ubuntu/docker-entrypoint.sh b/2.3/scala_2.12-java11-ubuntu/docker-entrypoint.sh similarity index 89% rename from 2.0/scala_2.12-java21-ubuntu/docker-entrypoint.sh rename to 2.3/scala_2.12-java11-ubuntu/docker-entrypoint.sh index e081109..cf63daa 100755 --- a/2.0/scala_2.12-java21-ubuntu/docker-entrypoint.sh +++ b/2.3/scala_2.12-java11-ubuntu/docker-entrypoint.sh @@ -25,16 +25,9 @@ COMMAND_HISTORY_SERVER="history-server" JOB_MANAGER_RPC_ADDRESS=${JOB_MANAGER_RPC_ADDRESS:-$(hostname -f)} CONF_FILE_DIR="${FLINK_HOME}/conf" -drop_privs_cmd() { - if [ $(id -u) != 0 ]; then - # Don't need to drop privs if EUID != 0 - return - elif [ -x /sbin/su-exec ]; then - # Alpine - echo su-exec flink - else - # Others - echo gosu flink +check_priv_user() { + if [ $(id -u) == 0 ]; then + echo "WARNING: Running as root user is not recommended. Please use a non-root user to run Flink." fi } @@ -146,6 +139,8 @@ maybe_enable_jemalloc() { fi } +check_priv_user + maybe_enable_jemalloc copy_plugins_if_required @@ -163,28 +158,28 @@ elif [ "$1" = "jobmanager" ]; then echo "Starting Job Manager" - exec $(drop_privs_cmd) "$FLINK_HOME/bin/jobmanager.sh" start-foreground "${args[@]}" + exec "$FLINK_HOME/bin/jobmanager.sh" start-foreground "${args[@]}" elif [ "$1" = ${COMMAND_STANDALONE} ]; then args=("${args[@]:1}") echo "Starting Job Manager" - exec $(drop_privs_cmd) "$FLINK_HOME/bin/standalone-job.sh" start-foreground "${args[@]}" + exec "$FLINK_HOME/bin/standalone-job.sh" start-foreground "${args[@]}" elif [ "$1" = ${COMMAND_HISTORY_SERVER} ]; then args=("${args[@]:1}") echo "Starting History Server" - exec $(drop_privs_cmd) "$FLINK_HOME/bin/historyserver.sh" start-foreground "${args[@]}" + exec "$FLINK_HOME/bin/historyserver.sh" start-foreground "${args[@]}" elif [ "$1" = "taskmanager" ]; then args=("${args[@]:1}") echo "Starting Task Manager" - exec $(drop_privs_cmd) "$FLINK_HOME/bin/taskmanager.sh" start-foreground "${args[@]}" + exec "$FLINK_HOME/bin/taskmanager.sh" start-foreground "${args[@]}" fi args=("${args[@]}") # Running command in pass-through mode -exec $(drop_privs_cmd) "${args[@]}" +exec "${args[@]}" diff --git a/2.3/scala_2.12-java11-ubuntu/release.metadata b/2.3/scala_2.12-java11-ubuntu/release.metadata new file mode 100644 index 0000000..471ee8d --- /dev/null +++ b/2.3/scala_2.12-java11-ubuntu/release.metadata @@ -0,0 +1,2 @@ +Tags: 2.3.0-scala_2.12-java11, 2.3-scala_2.12-java11, scala_2.12-java11, 2.3.0-java11, 2.3-java11, java11 +Architectures: amd64,arm64v8 diff --git a/2.0/scala_2.12-java21-ubuntu/Dockerfile b/2.3/scala_2.12-java17-ubuntu/Dockerfile similarity index 69% rename from 2.0/scala_2.12-java21-ubuntu/Dockerfile rename to 2.3/scala_2.12-java17-ubuntu/Dockerfile index 51e79ad..b7df210 100644 --- a/2.0/scala_2.12-java21-ubuntu/Dockerfile +++ b/2.3/scala_2.12-java17-ubuntu/Dockerfile @@ -16,7 +16,7 @@ # limitations under the License. ############################################################################### -FROM eclipse-temurin:21-jre-jammy +FROM eclipse-temurin:17-jre-noble # Install dependencies RUN set -ex; \ @@ -24,28 +24,10 @@ RUN set -ex; \ apt-get -y install gpg libsnappy1v5 gettext-base libjemalloc-dev; \ rm -rf /var/lib/apt/lists/* -# Grab gosu for easy step-down from root -ENV GOSU_VERSION 1.11 -RUN set -ex; \ - wget -nv -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$(dpkg --print-architecture)"; \ - wget -nv -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$(dpkg --print-architecture).asc"; \ - export GNUPGHOME="$(mktemp -d)"; \ - for server in hkps://keys.openpgp.org $(shuf -e \ - keyserver.ubuntu.com \ - hkp://keyserver.ubuntu.com:80 \ - pgp.mit.edu) ; do \ - gpg --batch --keyserver "$server" --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4 && break || : ; \ - done && \ - gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu; \ - gpgconf --kill all; \ - rm -rf "$GNUPGHOME" /usr/local/bin/gosu.asc; \ - chmod +x /usr/local/bin/gosu; \ - gosu nobody true - # Configure Flink version -ENV FLINK_TGZ_URL=https://dlcdn.apache.org/flink/flink-2.0.2/flink-2.0.2-bin-scala_2.12.tgz \ - FLINK_ASC_URL=https://downloads.apache.org/flink/flink-2.0.2/flink-2.0.2-bin-scala_2.12.tgz.asc \ - GPG_KEY=F7529FAE24811A5C0DF3CA741596BBF0726835D8 \ +ENV FLINK_TGZ_URL=https://dlcdn.apache.org/flink/flink-2.3.0/flink-2.3.0-bin-scala_2.12.tgz \ + FLINK_ASC_URL=https://downloads.apache.org/flink/flink-2.3.0/flink-2.3.0-bin-scala_2.12.tgz.asc \ + GPG_KEY=E11F792053638C56C98ACFADB5B638DCA5F94E4A \ CHECK_GPG=true # Prepare environment @@ -88,6 +70,7 @@ RUN set -ex; \ "-rmKV" "taskmanager.host=localhost"; # Configure container +USER flink COPY docker-entrypoint.sh / ENTRYPOINT ["/docker-entrypoint.sh"] EXPOSE 6123 8081 diff --git a/2.0/scala_2.12-java11-ubuntu/docker-entrypoint.sh b/2.3/scala_2.12-java17-ubuntu/docker-entrypoint.sh similarity index 89% rename from 2.0/scala_2.12-java11-ubuntu/docker-entrypoint.sh rename to 2.3/scala_2.12-java17-ubuntu/docker-entrypoint.sh index e081109..cf63daa 100755 --- a/2.0/scala_2.12-java11-ubuntu/docker-entrypoint.sh +++ b/2.3/scala_2.12-java17-ubuntu/docker-entrypoint.sh @@ -25,16 +25,9 @@ COMMAND_HISTORY_SERVER="history-server" JOB_MANAGER_RPC_ADDRESS=${JOB_MANAGER_RPC_ADDRESS:-$(hostname -f)} CONF_FILE_DIR="${FLINK_HOME}/conf" -drop_privs_cmd() { - if [ $(id -u) != 0 ]; then - # Don't need to drop privs if EUID != 0 - return - elif [ -x /sbin/su-exec ]; then - # Alpine - echo su-exec flink - else - # Others - echo gosu flink +check_priv_user() { + if [ $(id -u) == 0 ]; then + echo "WARNING: Running as root user is not recommended. Please use a non-root user to run Flink." fi } @@ -146,6 +139,8 @@ maybe_enable_jemalloc() { fi } +check_priv_user + maybe_enable_jemalloc copy_plugins_if_required @@ -163,28 +158,28 @@ elif [ "$1" = "jobmanager" ]; then echo "Starting Job Manager" - exec $(drop_privs_cmd) "$FLINK_HOME/bin/jobmanager.sh" start-foreground "${args[@]}" + exec "$FLINK_HOME/bin/jobmanager.sh" start-foreground "${args[@]}" elif [ "$1" = ${COMMAND_STANDALONE} ]; then args=("${args[@]:1}") echo "Starting Job Manager" - exec $(drop_privs_cmd) "$FLINK_HOME/bin/standalone-job.sh" start-foreground "${args[@]}" + exec "$FLINK_HOME/bin/standalone-job.sh" start-foreground "${args[@]}" elif [ "$1" = ${COMMAND_HISTORY_SERVER} ]; then args=("${args[@]:1}") echo "Starting History Server" - exec $(drop_privs_cmd) "$FLINK_HOME/bin/historyserver.sh" start-foreground "${args[@]}" + exec "$FLINK_HOME/bin/historyserver.sh" start-foreground "${args[@]}" elif [ "$1" = "taskmanager" ]; then args=("${args[@]:1}") echo "Starting Task Manager" - exec $(drop_privs_cmd) "$FLINK_HOME/bin/taskmanager.sh" start-foreground "${args[@]}" + exec "$FLINK_HOME/bin/taskmanager.sh" start-foreground "${args[@]}" fi args=("${args[@]}") # Running command in pass-through mode -exec $(drop_privs_cmd) "${args[@]}" +exec "${args[@]}" diff --git a/2.3/scala_2.12-java17-ubuntu/release.metadata b/2.3/scala_2.12-java17-ubuntu/release.metadata new file mode 100644 index 0000000..3c171ba --- /dev/null +++ b/2.3/scala_2.12-java17-ubuntu/release.metadata @@ -0,0 +1,2 @@ +Tags: 2.3.0-scala_2.12-java17, 2.3-scala_2.12-java17, scala_2.12-java17, 2.3.0-scala_2.12, 2.3-scala_2.12, scala_2.12, 2.3.0-java17, 2.3-java17, java17, 2.3.0, 2.3, latest +Architectures: amd64,arm64v8 diff --git a/2.0/scala_2.12-java17-ubuntu/Dockerfile b/2.3/scala_2.12-java21-ubuntu/Dockerfile similarity index 69% rename from 2.0/scala_2.12-java17-ubuntu/Dockerfile rename to 2.3/scala_2.12-java21-ubuntu/Dockerfile index 32bd6c9..8c51845 100644 --- a/2.0/scala_2.12-java17-ubuntu/Dockerfile +++ b/2.3/scala_2.12-java21-ubuntu/Dockerfile @@ -16,7 +16,7 @@ # limitations under the License. ############################################################################### -FROM eclipse-temurin:17-jre-jammy +FROM eclipse-temurin:21-jre-noble # Install dependencies RUN set -ex; \ @@ -24,28 +24,10 @@ RUN set -ex; \ apt-get -y install gpg libsnappy1v5 gettext-base libjemalloc-dev; \ rm -rf /var/lib/apt/lists/* -# Grab gosu for easy step-down from root -ENV GOSU_VERSION 1.11 -RUN set -ex; \ - wget -nv -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$(dpkg --print-architecture)"; \ - wget -nv -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$(dpkg --print-architecture).asc"; \ - export GNUPGHOME="$(mktemp -d)"; \ - for server in hkps://keys.openpgp.org $(shuf -e \ - keyserver.ubuntu.com \ - hkp://keyserver.ubuntu.com:80 \ - pgp.mit.edu) ; do \ - gpg --batch --keyserver "$server" --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4 && break || : ; \ - done && \ - gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu; \ - gpgconf --kill all; \ - rm -rf "$GNUPGHOME" /usr/local/bin/gosu.asc; \ - chmod +x /usr/local/bin/gosu; \ - gosu nobody true - # Configure Flink version -ENV FLINK_TGZ_URL=https://dlcdn.apache.org/flink/flink-2.0.2/flink-2.0.2-bin-scala_2.12.tgz \ - FLINK_ASC_URL=https://downloads.apache.org/flink/flink-2.0.2/flink-2.0.2-bin-scala_2.12.tgz.asc \ - GPG_KEY=F7529FAE24811A5C0DF3CA741596BBF0726835D8 \ +ENV FLINK_TGZ_URL=https://dlcdn.apache.org/flink/flink-2.3.0/flink-2.3.0-bin-scala_2.12.tgz \ + FLINK_ASC_URL=https://downloads.apache.org/flink/flink-2.3.0/flink-2.3.0-bin-scala_2.12.tgz.asc \ + GPG_KEY=E11F792053638C56C98ACFADB5B638DCA5F94E4A \ CHECK_GPG=true # Prepare environment @@ -88,6 +70,7 @@ RUN set -ex; \ "-rmKV" "taskmanager.host=localhost"; # Configure container +USER flink COPY docker-entrypoint.sh / ENTRYPOINT ["/docker-entrypoint.sh"] EXPOSE 6123 8081 diff --git a/2.0/scala_2.12-java17-ubuntu/docker-entrypoint.sh b/2.3/scala_2.12-java21-ubuntu/docker-entrypoint.sh similarity index 89% rename from 2.0/scala_2.12-java17-ubuntu/docker-entrypoint.sh rename to 2.3/scala_2.12-java21-ubuntu/docker-entrypoint.sh index e081109..cf63daa 100755 --- a/2.0/scala_2.12-java17-ubuntu/docker-entrypoint.sh +++ b/2.3/scala_2.12-java21-ubuntu/docker-entrypoint.sh @@ -25,16 +25,9 @@ COMMAND_HISTORY_SERVER="history-server" JOB_MANAGER_RPC_ADDRESS=${JOB_MANAGER_RPC_ADDRESS:-$(hostname -f)} CONF_FILE_DIR="${FLINK_HOME}/conf" -drop_privs_cmd() { - if [ $(id -u) != 0 ]; then - # Don't need to drop privs if EUID != 0 - return - elif [ -x /sbin/su-exec ]; then - # Alpine - echo su-exec flink - else - # Others - echo gosu flink +check_priv_user() { + if [ $(id -u) == 0 ]; then + echo "WARNING: Running as root user is not recommended. Please use a non-root user to run Flink." fi } @@ -146,6 +139,8 @@ maybe_enable_jemalloc() { fi } +check_priv_user + maybe_enable_jemalloc copy_plugins_if_required @@ -163,28 +158,28 @@ elif [ "$1" = "jobmanager" ]; then echo "Starting Job Manager" - exec $(drop_privs_cmd) "$FLINK_HOME/bin/jobmanager.sh" start-foreground "${args[@]}" + exec "$FLINK_HOME/bin/jobmanager.sh" start-foreground "${args[@]}" elif [ "$1" = ${COMMAND_STANDALONE} ]; then args=("${args[@]:1}") echo "Starting Job Manager" - exec $(drop_privs_cmd) "$FLINK_HOME/bin/standalone-job.sh" start-foreground "${args[@]}" + exec "$FLINK_HOME/bin/standalone-job.sh" start-foreground "${args[@]}" elif [ "$1" = ${COMMAND_HISTORY_SERVER} ]; then args=("${args[@]:1}") echo "Starting History Server" - exec $(drop_privs_cmd) "$FLINK_HOME/bin/historyserver.sh" start-foreground "${args[@]}" + exec "$FLINK_HOME/bin/historyserver.sh" start-foreground "${args[@]}" elif [ "$1" = "taskmanager" ]; then args=("${args[@]:1}") echo "Starting Task Manager" - exec $(drop_privs_cmd) "$FLINK_HOME/bin/taskmanager.sh" start-foreground "${args[@]}" + exec "$FLINK_HOME/bin/taskmanager.sh" start-foreground "${args[@]}" fi args=("${args[@]}") # Running command in pass-through mode -exec $(drop_privs_cmd) "${args[@]}" +exec "${args[@]}" diff --git a/2.3/scala_2.12-java21-ubuntu/release.metadata b/2.3/scala_2.12-java21-ubuntu/release.metadata new file mode 100644 index 0000000..e8800d1 --- /dev/null +++ b/2.3/scala_2.12-java21-ubuntu/release.metadata @@ -0,0 +1,2 @@ +Tags: 2.3.0-scala_2.12-java21, 2.3-scala_2.12-java21, scala_2.12-java21, 2.3.0-java21, 2.3-java21, java21 +Architectures: amd64,arm64v8
