-
Notifications
You must be signed in to change notification settings - Fork 28.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[SPARK-XXX][K8S] Support K8s image building with Java 17
- Loading branch information
1 parent
6d6ef76
commit f70024f
Showing
3 changed files
with
71 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
62 changes: 62 additions & 0 deletions
62
resource-managers/kubernetes/docker/src/main/dockerfiles/spark/Dockerfile.java17
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
# | ||
# 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. | ||
# | ||
# We need to build from debian:bullseye-slim because openjdk switches its underlying OS | ||
# from debian to oraclelinux from openjdk:12 | ||
FROM debian:bullseye-slim | ||
|
||
ARG spark_uid=185 | ||
|
||
# Before building the docker image, first build and make a Spark distribution following | ||
# the instructions in http://spark.apache.org/docs/latest/building-spark.html. | ||
# If this docker file is being used in the context of building your images from a Spark | ||
# distribution, the docker build command should be invoked from the top level directory | ||
# of the Spark distribution. E.g.: | ||
# docker build -t spark:latest -f kubernetes/dockerfiles/spark/Dockerfile . | ||
|
||
RUN set -ex && \ | ||
apt-get update && \ | ||
ln -s /lib /lib64 && \ | ||
apt install -y bash tini libc6 libpam-modules krb5-user libnss3 procps openjdk-17-jre && \ | ||
mkdir -p /opt/spark && \ | ||
mkdir -p /opt/spark/examples && \ | ||
mkdir -p /opt/spark/work-dir && \ | ||
touch /opt/spark/RELEASE && \ | ||
rm /bin/sh && \ | ||
ln -sv /bin/bash /bin/sh && \ | ||
echo "auth required pam_wheel.so use_uid" >> /etc/pam.d/su && \ | ||
chgrp root /etc/passwd && chmod ug+rw /etc/passwd && \ | ||
rm -rf /var/cache/apt/* | ||
|
||
COPY jars /opt/spark/jars | ||
COPY bin /opt/spark/bin | ||
COPY sbin /opt/spark/sbin | ||
COPY kubernetes/dockerfiles/spark/entrypoint.sh /opt/ | ||
COPY kubernetes/dockerfiles/spark/decom.sh /opt/ | ||
COPY examples /opt/spark/examples | ||
COPY kubernetes/tests /opt/spark/tests | ||
COPY data /opt/spark/data | ||
|
||
ENV SPARK_HOME /opt/spark | ||
|
||
WORKDIR /opt/spark/work-dir | ||
RUN chmod g+w /opt/spark/work-dir | ||
RUN chmod a+x /opt/decom.sh | ||
|
||
ENTRYPOINT [ "/opt/entrypoint.sh" ] | ||
|
||
# Specify the User that the actual main process will run as | ||
USER ${spark_uid} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters