This is an automated email from the ASF dual-hosted git repository.
guoweijie pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/flink-docker.git
The following commit(s) were added to refs/heads/master by this push:
new d32c85b Update Dockerfiles for 2.0.0 release
d32c85b is described below
commit d32c85bcf93b430d56685b54ab5732a20e472e2e
Author: Weijie Guo <[email protected]>
AuthorDate: Tue Mar 18 18:57:11 2025 +0800
Update Dockerfiles for 2.0.0 release
---
2.0/scala_2.12-java11-ubuntu/Dockerfile | 6 +-
2.0/scala_2.12-java11-ubuntu/release.metadata | 2 +-
2.0/scala_2.12-java17-ubuntu/Dockerfile | 6 +-
2.0/scala_2.12-java17-ubuntu/release.metadata | 2 +-
.../Dockerfile | 8 +-
2.0/scala_2.12-java21-ubuntu/docker-entrypoint.sh | 190 +++++++++++++++++++++
2.0/scala_2.12-java21-ubuntu/release.metadata | 2 +
7 files changed, 204 insertions(+), 12 deletions(-)
diff --git a/2.0/scala_2.12-java11-ubuntu/Dockerfile
b/2.0/scala_2.12-java11-ubuntu/Dockerfile
index ff1eab5..4f13c73 100644
--- a/2.0/scala_2.12-java11-ubuntu/Dockerfile
+++ b/2.0/scala_2.12-java11-ubuntu/Dockerfile
@@ -44,9 +44,9 @@ RUN set -ex; \
gosu nobody true
# Configure Flink version
-ENV
FLINK_TGZ_URL=https://dlcdn.apache.org/flink/flink-2.0-preview1/flink-2.0-preview1-bin-scala_2.12.tgz
\
-
FLINK_ASC_URL=https://downloads.apache.org/flink/flink-2.0-preview1/flink-2.0-preview1-bin-scala_2.12.tgz.asc
\
- GPG_KEY=8D56AE6E7082699A4870750EA4E8C4C05EE6861F \
+ENV
FLINK_TGZ_URL=https://dlcdn.apache.org/flink/flink-2.0.0/flink-2.0.0-bin-scala_2.12.tgz
\
+
FLINK_ASC_URL=https://downloads.apache.org/flink/flink-2.0.0/flink-2.0.0-bin-scala_2.12.tgz.asc
\
+ GPG_KEY=F8E419AA0B60C28879E876859DFF40967ABFC5A4 \
CHECK_GPG=true
# Prepare environment
diff --git a/2.0/scala_2.12-java11-ubuntu/release.metadata
b/2.0/scala_2.12-java11-ubuntu/release.metadata
index 38200f4..d8f0c4c 100644
--- a/2.0/scala_2.12-java11-ubuntu/release.metadata
+++ b/2.0/scala_2.12-java11-ubuntu/release.metadata
@@ -1,2 +1,2 @@
-Tags: 2.0-preview1-scala_2.12-java11, 2.0-scala_2.12-java11,
scala_2.12-java11, 2.0-preview1-scala_2.12, 2.0-scala_2.12, scala_2.12,
2.0-preview1-java11, 2.0-java11, java11, 2.0-preview1, 2.0, latest
+Tags: 2.0.0-scala_2.12-java11, 2.0-scala_2.12-java11, scala_2.12-java11,
2.0.0-java11, 2.0-java11, java11
Architectures: amd64,arm64v8
diff --git a/2.0/scala_2.12-java17-ubuntu/Dockerfile
b/2.0/scala_2.12-java17-ubuntu/Dockerfile
index 35cd97f..a3ecbfd 100644
--- a/2.0/scala_2.12-java17-ubuntu/Dockerfile
+++ b/2.0/scala_2.12-java17-ubuntu/Dockerfile
@@ -44,9 +44,9 @@ RUN set -ex; \
gosu nobody true
# Configure Flink version
-ENV
FLINK_TGZ_URL=https://dlcdn.apache.org/flink/flink-2.0-preview1/flink-2.0-preview1-bin-scala_2.12.tgz
\
-
FLINK_ASC_URL=https://downloads.apache.org/flink/flink-2.0-preview1/flink-2.0-preview1-bin-scala_2.12.tgz.asc
\
- GPG_KEY=8D56AE6E7082699A4870750EA4E8C4C05EE6861F \
+ENV
FLINK_TGZ_URL=https://dlcdn.apache.org/flink/flink-2.0.0/flink-2.0.0-bin-scala_2.12.tgz
\
+
FLINK_ASC_URL=https://downloads.apache.org/flink/flink-2.0.0/flink-2.0.0-bin-scala_2.12.tgz.asc
\
+ GPG_KEY=F8E419AA0B60C28879E876859DFF40967ABFC5A4 \
CHECK_GPG=true
# Prepare environment
diff --git a/2.0/scala_2.12-java17-ubuntu/release.metadata
b/2.0/scala_2.12-java17-ubuntu/release.metadata
index 29a62b0..682fa11 100644
--- a/2.0/scala_2.12-java17-ubuntu/release.metadata
+++ b/2.0/scala_2.12-java17-ubuntu/release.metadata
@@ -1,2 +1,2 @@
-Tags: 2.0-preview1-scala_2.12-java17, 2.0-scala_2.12-java17,
scala_2.12-java17, 2.0-preview1-java17, 2.0-java17, java17
+Tags: 2.0.0-scala_2.12-java17, 2.0-scala_2.12-java17, scala_2.12-java17,
2.0.0-scala_2.12, 2.0-scala_2.12, scala_2.12, 2.0.0-java17, 2.0-java17, java17,
2.0.0, 2.0, latest
Architectures: amd64,arm64v8
diff --git a/2.0/scala_2.12-java11-ubuntu/Dockerfile
b/2.0/scala_2.12-java21-ubuntu/Dockerfile
similarity index 92%
copy from 2.0/scala_2.12-java11-ubuntu/Dockerfile
copy to 2.0/scala_2.12-java21-ubuntu/Dockerfile
index ff1eab5..22cb42b 100644
--- a/2.0/scala_2.12-java11-ubuntu/Dockerfile
+++ b/2.0/scala_2.12-java21-ubuntu/Dockerfile
@@ -16,7 +16,7 @@
# limitations under the License.
###############################################################################
-FROM eclipse-temurin:11-jre-jammy
+FROM eclipse-temurin:21-jre-jammy
# Install dependencies
RUN set -ex; \
@@ -44,9 +44,9 @@ RUN set -ex; \
gosu nobody true
# Configure Flink version
-ENV
FLINK_TGZ_URL=https://dlcdn.apache.org/flink/flink-2.0-preview1/flink-2.0-preview1-bin-scala_2.12.tgz
\
-
FLINK_ASC_URL=https://downloads.apache.org/flink/flink-2.0-preview1/flink-2.0-preview1-bin-scala_2.12.tgz.asc
\
- GPG_KEY=8D56AE6E7082699A4870750EA4E8C4C05EE6861F \
+ENV
FLINK_TGZ_URL=https://dlcdn.apache.org/flink/flink-2.0.0/flink-2.0.0-bin-scala_2.12.tgz
\
+
FLINK_ASC_URL=https://downloads.apache.org/flink/flink-2.0.0/flink-2.0.0-bin-scala_2.12.tgz.asc
\
+ GPG_KEY=F8E419AA0B60C28879E876859DFF40967ABFC5A4 \
CHECK_GPG=true
# Prepare environment
diff --git a/2.0/scala_2.12-java21-ubuntu/docker-entrypoint.sh
b/2.0/scala_2.12-java21-ubuntu/docker-entrypoint.sh
new file mode 100755
index 0000000..e081109
--- /dev/null
+++ b/2.0/scala_2.12-java21-ubuntu/docker-entrypoint.sh
@@ -0,0 +1,190 @@
+#!/usr/bin/env bash
+
+###############################################################################
+# 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.
+###############################################################################
+
+COMMAND_STANDALONE="standalone-job"
+COMMAND_HISTORY_SERVER="history-server"
+
+# If unspecified, the hostname of the container is taken as the JobManager
address
+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
+ fi
+}
+
+copy_plugins_if_required() {
+ if [ -z "$ENABLE_BUILT_IN_PLUGINS" ]; then
+ return 0
+ fi
+
+ echo "Enabling required built-in plugins"
+ for target_plugin in $(echo "$ENABLE_BUILT_IN_PLUGINS" | tr ';' ' '); do
+ echo "Linking ${target_plugin} to plugin directory"
+ plugin_name=${target_plugin%.jar}
+
+ mkdir -p "${FLINK_HOME}/plugins/${plugin_name}"
+ if [ ! -e "${FLINK_HOME}/opt/${target_plugin}" ]; then
+ echo "Plugin ${target_plugin} does not exist. Exiting."
+ exit 1
+ else
+ ln -fs "${FLINK_HOME}/opt/${target_plugin}"
"${FLINK_HOME}/plugins/${plugin_name}"
+ echo "Successfully enabled ${target_plugin}"
+ fi
+ done
+}
+
+set_config_options() {
+ local config_parser_script="$FLINK_HOME/bin/config-parser-utils.sh"
+ local config_dir="$FLINK_HOME/conf"
+ local bin_dir="$FLINK_HOME/bin"
+ local lib_dir="$FLINK_HOME/lib"
+
+ local config_params=()
+
+ while [ $# -gt 0 ]; do
+ local key="$1"
+ local value="$2"
+
+ config_params+=("-D${key}=${value}")
+
+ shift 2
+ done
+
+ if [ "${#config_params[@]}" -gt 0 ]; then
+ "${config_parser_script}" "${config_dir}" "${bin_dir}" "${lib_dir}"
"${config_params[@]}"
+ fi
+}
+
+prepare_configuration() {
+ local config_options=()
+
+ config_options+=("jobmanager.rpc.address" "${JOB_MANAGER_RPC_ADDRESS}")
+ config_options+=("blob.server.port" "6124")
+ config_options+=("query.server.port" "6125")
+
+ if [ -n "${TASK_MANAGER_NUMBER_OF_TASK_SLOTS}" ]; then
+ config_options+=("taskmanager.numberOfTaskSlots"
"${TASK_MANAGER_NUMBER_OF_TASK_SLOTS}")
+ fi
+
+ if [ ${#config_options[@]} -ne 0 ]; then
+ set_config_options "${config_options[@]}"
+ fi
+
+ if [ -n "${FLINK_PROPERTIES}" ]; then
+ process_flink_properties "${FLINK_PROPERTIES}"
+ fi
+}
+
+process_flink_properties() {
+ local flink_properties_content=$1
+ local config_options=()
+
+ local OLD_IFS="$IFS"
+ IFS=$'\n'
+ for prop in $flink_properties_content; do
+ prop=$(echo $prop | tr -d '[:space:]')
+
+ if [ -z "$prop" ]; then
+ continue
+ fi
+
+ IFS=':' read -r key value <<< "$prop"
+
+ value=$(echo $value | envsubst)
+
+ config_options+=("$key" "$value")
+ done
+ IFS="$OLD_IFS"
+
+ if [ ${#config_options[@]} -ne 0 ]; then
+ set_config_options "${config_options[@]}"
+ fi
+}
+
+maybe_enable_jemalloc() {
+ if [ "${DISABLE_JEMALLOC:-false}" == "false" ]; then
+ JEMALLOC_PATH="/usr/lib/$(uname -m)-linux-gnu/libjemalloc.so"
+ JEMALLOC_FALLBACK="/usr/lib/x86_64-linux-gnu/libjemalloc.so"
+ if [ -f "$JEMALLOC_PATH" ]; then
+ export LD_PRELOAD=$LD_PRELOAD:$JEMALLOC_PATH
+ elif [ -f "$JEMALLOC_FALLBACK" ]; then
+ export LD_PRELOAD=$LD_PRELOAD:$JEMALLOC_FALLBACK
+ else
+ if [ "$JEMALLOC_PATH" = "$JEMALLOC_FALLBACK" ]; then
+ MSG_PATH=$JEMALLOC_PATH
+ else
+ MSG_PATH="$JEMALLOC_PATH and $JEMALLOC_FALLBACK"
+ fi
+ echo "WARNING: attempted to load jemalloc from $MSG_PATH but the
library couldn't be found. glibc will be used instead."
+ fi
+ fi
+}
+
+maybe_enable_jemalloc
+
+copy_plugins_if_required
+
+prepare_configuration
+
+args=("$@")
+if [ "$1" = "help" ]; then
+ printf "Usage: $(basename "$0")
(jobmanager|${COMMAND_STANDALONE}|taskmanager|${COMMAND_HISTORY_SERVER})\n"
+ printf " Or $(basename "$0") help\n\n"
+ printf "By default, Flink image adopts jemalloc as default memory
allocator. This behavior can be disabled by setting the 'DISABLE_JEMALLOC'
environment variable to 'true'.\n"
+ exit 0
+elif [ "$1" = "jobmanager" ]; then
+ args=("${args[@]:1}")
+
+ echo "Starting Job Manager"
+
+ exec $(drop_privs_cmd) "$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[@]}"
+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[@]}"
+elif [ "$1" = "taskmanager" ]; then
+ args=("${args[@]:1}")
+
+ echo "Starting Task Manager"
+
+ exec $(drop_privs_cmd) "$FLINK_HOME/bin/taskmanager.sh" start-foreground
"${args[@]}"
+fi
+
+args=("${args[@]}")
+
+# Running command in pass-through mode
+exec $(drop_privs_cmd) "${args[@]}"
diff --git a/2.0/scala_2.12-java21-ubuntu/release.metadata
b/2.0/scala_2.12-java21-ubuntu/release.metadata
new file mode 100644
index 0000000..ef26a79
--- /dev/null
+++ b/2.0/scala_2.12-java21-ubuntu/release.metadata
@@ -0,0 +1,2 @@
+Tags: 2.0.0-scala_2.12-java21, 2.0-scala_2.12-java21, scala_2.12-java21,
2.0.0-java21, 2.0-java21, java21
+Architectures: amd64,arm64v8