-
Notifications
You must be signed in to change notification settings - Fork 18
Onboard jaz to Microsoft's OpenJDK container images #132
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
6371e46
45f5b45
452c71b
f8c35e3
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -6,7 +6,7 @@ LABEL "Author"="Microsoft" | |
| LABEL "Support"="Microsoft OpenJDK Support <[email protected]>" | ||
|
|
||
| ARG package="msopenjdk-11" | ||
| ARG PKGS="tzdata ca-certificates freetype shadow-utils" | ||
| ARG PKGS="tzdata ca-certificates freetype shadow-utils jaz" | ||
|
|
||
| ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8' | ||
| ENV JAVA_HOME=/usr/lib/jvm/msopenjdk-11 | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -6,7 +6,7 @@ LABEL "Author"="Microsoft" | |
| LABEL "Support"="Microsoft OpenJDK Support <[email protected]>" | ||
|
|
||
| ARG package="msopenjdk-17" | ||
| ARG PKGS="tzdata ca-certificates freetype shadow-utils" | ||
| ARG PKGS="tzdata ca-certificates freetype shadow-utils jaz" | ||
|
|
||
| ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8' | ||
| ENV JAVA_HOME=/usr/lib/jvm/msopenjdk-17 | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,24 +1,24 @@ | ||
| ARG IMAGE="mcr.microsoft.com/azurelinux/base/core" | ||
| ARG TAG="3.0" | ||
| FROM ${IMAGE}:${TAG} | ||
| LABEL "Author"="Microsoft" | ||
| LABEL "Support"="Microsoft OpenJDK Support <[email protected]>" | ||
| ARG package="msopenjdk-21" | ||
| ARG PKGS="tzdata ca-certificates freetype shadow-utils" | ||
| ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8' | ||
| ENV JAVA_HOME=/usr/lib/jvm/msopenjdk-21 | ||
| RUN tdnf update -y && \ | ||
| tdnf install -y ${package} ${PKGS} && \ | ||
| tdnf clean all && \ | ||
| groupadd --system --gid=101 app && \ | ||
| adduser --uid 101 --gid 101 --system app && \ | ||
| install -d -m 0755 -o 101 -g 101 "/home/app" && \ | ||
| rm -rf /var/cache/tdnf && \ | ||
| rm -rf /usr/lib/jvm/${package}/lib/src.zip && \ | ||
| echo java -Xshare:dump && \ | ||
| java -Xshare:dump | ||
| ARG IMAGE="mcr.microsoft.com/azurelinux/base/core" | ||
| ARG TAG="3.0" | ||
| FROM ${IMAGE}:${TAG} | ||
|
|
||
| LABEL "Author"="Microsoft" | ||
| LABEL "Support"="Microsoft OpenJDK Support <[email protected]>" | ||
|
|
||
| ARG package="msopenjdk-21" | ||
| ARG PKGS="tzdata ca-certificates freetype shadow-utils jaz" | ||
|
|
||
| ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8' | ||
| ENV JAVA_HOME=/usr/lib/jvm/msopenjdk-21 | ||
|
|
||
| RUN tdnf update -y && \ | ||
| tdnf install -y ${package} ${PKGS} && \ | ||
| tdnf clean all && \ | ||
| groupadd --system --gid=101 app && \ | ||
| adduser --uid 101 --gid 101 --system app && \ | ||
| install -d -m 0755 -o 101 -g 101 "/home/app" && \ | ||
| rm -rf /var/cache/tdnf && \ | ||
| rm -rf /usr/lib/jvm/${package}/lib/src.zip && \ | ||
| echo java -Xshare:dump && \ | ||
| java -Xshare:dump | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -6,7 +6,7 @@ LABEL "Author"="Microsoft" | |
| LABEL "Support"="Microsoft OpenJDK Support <[email protected]>" | ||
|
|
||
| ARG package="msopenjdk-25" | ||
| ARG PKGS="tzdata ca-certificates freetype shadow-utils" | ||
| ARG PKGS="tzdata ca-certificates freetype shadow-utils jaz" | ||
|
|
||
| ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8' | ||
| ENV JAVA_HOME=/usr/lib/jvm/msopenjdk-25 | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -6,7 +6,7 @@ LABEL "Author"="Microsoft" | |
| LABEL "Support"="Microsoft OpenJDK Support <[email protected]>" | ||
|
|
||
| ARG JDK_PKG="temurin-8-jdk" | ||
| ARG PKGS="tzdata ca-certificates freetype shadow-utils" | ||
| ARG PKGS="tzdata ca-certificates freetype shadow-utils jaz" | ||
|
|
||
| ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8' | ||
| ENV JAVA_HOME=/usr/lib/jvm/temurin-8-jdk | ||
|
|
||
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -1,64 +1,64 @@ | ||||||
| ARG LINUX_VERSION="3.0" | ||||||
| ARG JDK_VERSION="21" | ||||||
| ARG INSTALLER_IMAGE="mcr.microsoft.com/azurelinux/base/core" | ||||||
| ARG INSTALLER_TAG="${LINUX_VERSION}" | ||||||
| ARG BASE_IMAGE="mcr.microsoft.com/azurelinux/distroless/base" | ||||||
| ARG BASE_TAG="${LINUX_VERSION}" | ||||||
| FROM ${INSTALLER_IMAGE}:${INSTALLER_TAG} AS installer | ||||||
| # Redeclare ARG to make it available in this build stage | ||||||
| ARG INSTALLER_TAG | ||||||
| ARG JDK_VERSION | ||||||
| ARG JDK_URL="https://aka.ms/download-jdk/microsoft-jdk-${JDK_VERSION}-linux-ARCH.tar.gz" | ||||||
| # Add dynamically linked packages: zlib | ||||||
| # Distroless base image already has tzdata ca-certificates openssl glibc | ||||||
| # Create a non-root user and group (just like .NET's image) | ||||||
| RUN mkdir /staging \ | ||||||
| && tdnf update -y \ | ||||||
| && tdnf install -y --releasever=${INSTALLER_TAG} --installroot /staging zlib \ | ||||||
| && tdnf install -y gawk shadow-utils ca-certificates tar \ | ||||||
| && groupadd --system --gid=101 app \ | ||||||
| && useradd -l --uid=101 --gid=101 --shell /bin/false --system --create-home app \ | ||||||
| && install -d -m 0755 -o 101 -g 101 "/staging/home/app" \ | ||||||
| && cat /etc/passwd | grep '^\(root\|app\):' > "/staging/etc/passwd" \ | ||||||
| && cat /etc/group | grep '^\(root\|app\):' > "/staging/etc/group" | ||||||
| # Get JDK | ||||||
| RUN mkdir -p /usr/lib/jvm && \ | ||||||
| if [ $(uname -m) = "x86_64" ]; then \ | ||||||
| JDK_URL=${JDK_URL/ARCH/x64}; \ | ||||||
| else \ | ||||||
| JDK_URL=${JDK_URL/ARCH/aarch64}; \ | ||||||
| fi && \ | ||||||
| curl --silent -L ${JDK_URL} -o /jdk.tar.gz && \ | ||||||
| tar -xzf /jdk.tar.gz -C / && \ | ||||||
| rm /jdk.tar.gz && \ | ||||||
| mv /jdk-2* /usr/jdk | ||||||
| # Clean up staging | ||||||
| RUN rm -rf /staging/etc/tdnf \ | ||||||
| && rm -rf /staging/run/* \ | ||||||
| && rm -rf /staging/var/cache/tdnf \ | ||||||
| && rm -rf /staging/var/lib/rpm \ | ||||||
| && rm -rf /staging/usr/share/doc \ | ||||||
| && rm -rf /staging/usr/share/man \ | ||||||
| && rm -rf /usr/jdk/man /usr/jdk/lib/src.zip \ | ||||||
| && find /staging/var/log -type f -size +0 -delete | ||||||
| FROM ${BASE_IMAGE}:${BASE_TAG} | ||||||
| LABEL "Author"="Microsoft" | ||||||
| LABEL "Support"="Microsoft OpenJDK Support <[email protected]>" | ||||||
| COPY --from=installer /staging/ / | ||||||
| COPY --from=installer /usr/jdk/ /usr/jdk/ | ||||||
| COPY --from=installer --chown=101:101 /staging/home/app /home/app | ||||||
| ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8' | ||||||
| ENV JAVA_HOME=/usr/jdk | ||||||
| ENV PATH="$PATH:$JAVA_HOME/bin" | ||||||
| ENTRYPOINT [ "/usr/jdk/bin/java" ] | ||||||
| CMD [ "-version" ] | ||||||
| ARG LINUX_VERSION="3.0" | ||||||
| ARG JDK_VERSION="21" | ||||||
| ARG INSTALLER_IMAGE="mcr.microsoft.com/azurelinux/base/core" | ||||||
| ARG INSTALLER_TAG="${LINUX_VERSION}" | ||||||
| ARG BASE_IMAGE="mcr.microsoft.com/azurelinux/distroless/base" | ||||||
| ARG BASE_TAG="${LINUX_VERSION}" | ||||||
|
|
||||||
| FROM ${INSTALLER_IMAGE}:${INSTALLER_TAG} AS installer | ||||||
|
|
||||||
| # Redeclare ARG to make it available in this build stage | ||||||
| ARG INSTALLER_TAG | ||||||
| ARG JDK_VERSION | ||||||
| ARG JDK_URL="https://aka.ms/download-jdk/microsoft-jdk-${JDK_VERSION}-linux-ARCH.tar.gz" | ||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Is this a variable or something? (Perhaps a nicety of dockerfiles?)
Suggested change
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Noup, it is a word that gets replaced with the proper architecture. It is good as it is. |
||||||
|
|
||||||
| # Add dynamically linked packages: zlib | ||||||
| # Distroless base image already has tzdata ca-certificates openssl glibc | ||||||
| # Create a non-root user and group (just like .NET's image) | ||||||
jmjaffe37 marked this conversation as resolved.
Show resolved
Hide resolved
|
||||||
| RUN mkdir /staging \ | ||||||
| && tdnf update -y \ | ||||||
| && tdnf install -y --releasever=${INSTALLER_TAG} --installroot /staging zlib jaz \ | ||||||
| && tdnf install -y gawk shadow-utils ca-certificates tar \ | ||||||
| && groupadd --system --gid=101 app \ | ||||||
| && useradd -l --uid=101 --gid=101 --shell /bin/false --system --create-home app \ | ||||||
| && install -d -m 0755 -o 101 -g 101 "/staging/home/app" \ | ||||||
| && cat /etc/passwd | grep '^\(root\|app\):' > "/staging/etc/passwd" \ | ||||||
| && cat /etc/group | grep '^\(root\|app\):' > "/staging/etc/group" | ||||||
|
|
||||||
| # Get JDK | ||||||
| RUN mkdir -p /usr/lib/jvm && \ | ||||||
| if [ $(uname -m) = "x86_64" ]; then \ | ||||||
| JDK_URL=${JDK_URL/ARCH/x64}; \ | ||||||
| else \ | ||||||
| JDK_URL=${JDK_URL/ARCH/aarch64}; \ | ||||||
| fi && \ | ||||||
| curl --silent -L ${JDK_URL} -o /jdk.tar.gz && \ | ||||||
| tar -xzf /jdk.tar.gz -C / && \ | ||||||
| rm /jdk.tar.gz && \ | ||||||
| mv /jdk-2* /usr/jdk | ||||||
|
|
||||||
| # Clean up staging | ||||||
| RUN rm -rf /staging/etc/tdnf \ | ||||||
| && rm -rf /staging/run/* \ | ||||||
| && rm -rf /staging/var/cache/tdnf \ | ||||||
| && rm -rf /staging/var/lib/rpm \ | ||||||
| && rm -rf /staging/usr/share/doc \ | ||||||
| && rm -rf /staging/usr/share/man \ | ||||||
| && rm -rf /usr/jdk/man /usr/jdk/lib/src.zip \ | ||||||
| && find /staging/var/log -type f -size +0 -delete | ||||||
|
|
||||||
| FROM ${BASE_IMAGE}:${BASE_TAG} | ||||||
|
|
||||||
| LABEL "Author"="Microsoft" | ||||||
| LABEL "Support"="Microsoft OpenJDK Support <[email protected]>" | ||||||
|
|
||||||
| COPY --from=installer /staging/ / | ||||||
| COPY --from=installer /usr/jdk/ /usr/jdk/ | ||||||
| COPY --from=installer --chown=101:101 /staging/home/app /home/app | ||||||
|
|
||||||
| ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8' | ||||||
| ENV JAVA_HOME=/usr/jdk | ||||||
| ENV PATH="$PATH:$JAVA_HOME/bin" | ||||||
|
|
||||||
| ENTRYPOINT [ "/usr/jdk/bin/java" ] | ||||||
| CMD [ "-version" ] | ||||||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,24 +1,24 @@ | ||
| ARG IMAGE="mcr.microsoft.com/cbl-mariner/base/core" | ||
| ARG TAG="2.0" | ||
| FROM ${IMAGE}:${TAG} | ||
| LABEL "Author"="Microsoft" | ||
| LABEL "Support"="Microsoft OpenJDK Support <[email protected]>" | ||
| ARG package="msopenjdk-21" | ||
| ARG PKGS="tzdata ca-certificates freetype shadow-utils" | ||
| ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8' | ||
| ENV JAVA_HOME=/usr/lib/jvm/msopenjdk-21 | ||
| RUN tdnf update -y && \ | ||
| tdnf install -y ${package} ${PKGS} && \ | ||
| tdnf clean all && \ | ||
| groupadd --system --gid=101 app && \ | ||
| adduser --uid 101 --gid 101 --system app && \ | ||
| install -d -m 0755 -o 101 -g 101 "/home/app" && \ | ||
| rm -rf /var/cache/tdnf && \ | ||
| rm -rf /usr/lib/jvm/${package}/lib/src.zip && \ | ||
| echo java -Xshare:dump && \ | ||
| java -Xshare:dump | ||
| ARG IMAGE="mcr.microsoft.com/cbl-mariner/base/core" | ||
| ARG TAG="2.0" | ||
| FROM ${IMAGE}:${TAG} | ||
|
|
||
| LABEL "Author"="Microsoft" | ||
| LABEL "Support"="Microsoft OpenJDK Support <[email protected]>" | ||
|
|
||
| ARG package="msopenjdk-21" | ||
| ARG PKGS="tzdata ca-certificates freetype shadow-utils" | ||
|
|
||
| ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8' | ||
| ENV JAVA_HOME=/usr/lib/jvm/msopenjdk-21 | ||
|
|
||
| RUN tdnf update -y && \ | ||
| tdnf install -y ${package} ${PKGS} && \ | ||
| tdnf clean all && \ | ||
| groupadd --system --gid=101 app && \ | ||
| adduser --uid 101 --gid 101 --system app && \ | ||
| install -d -m 0755 -o 101 -g 101 "/home/app" && \ | ||
| rm -rf /var/cache/tdnf && \ | ||
| rm -rf /usr/lib/jvm/${package}/lib/src.zip && \ | ||
| echo java -Xshare:dump && \ | ||
| java -Xshare:dump | ||
|
|
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,10 @@ | ||
| ARG IMGTOTEST=mcr.microsoft.com/openjdk/jdk:11-azurelinux | ||
|
|
||
| FROM mcr.microsoft.com/openjdk/jdk:8-azurelinux AS builder | ||
| ADD SampleApp.java /SampleApp.java | ||
| RUN javac -source 1.8 -target 1.8 SampleApp.java && jar cfe /app.jar SampleApp SampleApp.class | ||
|
|
||
| FROM ${IMGTOTEST} | ||
| COPY --from=builder /app.jar /app.jar | ||
| ENTRYPOINT ["jaz" ] | ||
| CMD ["-jar", "app.jar"] |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,9 @@ | ||
| ARG IMGTOTEST=mcr.microsoft.com/openjdk/jdk:11-azurelinux | ||
|
|
||
| FROM mcr.microsoft.com/openjdk/jdk:8-azurelinux AS builder | ||
| ADD SampleApp.java /SampleApp.java | ||
| RUN javac -source 1.8 -target 1.8 SampleApp.java && jar cfe /app.jar SampleApp SampleApp.class | ||
|
|
||
| FROM ${IMGTOTEST} | ||
| COPY --from=builder /app.jar /app.jar | ||
| CMD ["jaz", "-jar", "/app.jar"] |
Uh oh!
There was an error while loading. Please reload this page.