-
Notifications
You must be signed in to change notification settings - Fork 2.5k
Add Zulu Images from Azul systems #16141
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
base: master
Are you sure you want to change the base?
Add Zulu Images from Azul systems #16141
Conversation
This comment has been minimized.
This comment has been minimized.
gdams
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
@LaurentGoderre @tianon @yosifkit -- good to go now? |
|
Hi @LaurentGoderre @tianon @yosifkit -- we believe everything should be good now, can you confirm? |
|
Not a blocker but typically there is a tag for each variant that default to a specific version (i.e. |
1 similar comment
gdams
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Changes still LGTM. To add a bit more context Azul Zulu is another OpenJDK vendor. Their binaries are shipped under GNU General Public License, version 2 with the Classpath Exception.
gdams
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
|
Thank you for your patience ❤️ I'm guessing there've been some updates to these in the meantime (or that they're due for some updates), but here's some review of what's currently proposed as a starting point. 👍 We typically discourage this sort of (all predominantly glibc-based) base OS diversity within a single image because for most users it's not functionally all that different or useful (and usually just makes choosing an appropriate base more difficult), and instead encourage maintainers to focus on the "upstream-preferred" base distribution, especially since Docker makes distribution differences matter quite a bit less -- are there concrete functional differences/advantages to users choosing one of these over the other besides their own personal preferences? For example, are the binaries installed in the Debian and Ubuntu images different enough that one isn't compatible with the runtime environment of the other? (See https://github.com/docker-library/docs/tree/939fc2b95219f744303c9ddea67f2cc353e255c5/eclipse-temurin#using-a-different-base-image for an example of what I mean, and if you scroll up to the tag listing, a good example of how out-of-control the supported tags get even with limiting it like this. 🙈) Using the term "distroless" for something that isn't part of or officially related to the distroless project feels somewhat inappropriate; maybe instead document how to get to an image like this from another variant instead of officially supporting it here for now? Just "debian", "centos", "alpine", "ubuntu" are not terribly specific aliases -- would recommend getting more specific so users can pin/better self-manage when there are issues with base image updates (for example "bookworm" or "debian12" so that when the "square wheel" rolls and Debian Trixie/13 is released you can decide whether to support multiple versions and users can manage the breakage they might experience from the rolling wheel by having an easier tag to target for pinning to the older version). Related to the above, the +ENV LANG en_US.UTF-8
+ENV LANGUAGE en_US:en
+ENV LC_ALL en_US.UTF-8Does this really need to be so explicit/verbose? For example, would it be sufficient to only set +ENV TZ=Etc/UTCThis is already the default timezone in all official images (and we even have a test that validates it), so this is unnecessary. 👍 + apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 0xB1998361219BD9C9 && \This command ( Also, the key fingerprint should be specified by the full fingerprint ( See https://github.com/docker-library/mysql/blob/6978e12b0d46abf24015045bd22a0cf11b19c150/8.0/Dockerfile.debian#L55-L71 for an example, in case that's helpful. + dpkg -i zulu-repo_${ZULU_REPO_VER}_all.deb && \This should probably be + echo "Package: zulu11-*\nPin: version 11.0.20-*\nPin-Priority: 1001" > /etc/apt/preferences && \
+ apt-get -qq -y --no-install-recommends install zulu11-jdk=11.0.20-* && \If you ever end up using "debian revisions" for rebuilds that don't change the "upstream version" (11.0.20-1 vs 11.0.20-2) you might want to update this to be more explicit (ie no Any particular reason you need If you end up keeping an RPM-based distro (after removing Also, to be explicit, I'm happy to elaborate on or further discuss any of these. ❤️ |
|
@tianon Thank you for your thoughtful and constructive feedback. We agree with many of your points and are actively working to incorporate them into the next update of our Official Images. This may take a bit more time, but we will follow up with you as soon as the updates are ready. |
This comment has been minimized.
This comment has been minimized.
|
Hello, I would like to revive this PR. We’ve carefully gone through your previous feedback and have made several updates and improvements to the images and their tagging, including:
Could you please review the PR again? I am personally taking over this initiative on Azul’s side and would be happy to provide clarification, discuss changes, or make further improvements to get this finalized 🙂 |
|
also mentioning @tianon for the review 🙏 |
|
I'm registering those failures, it looks like some discrepancy in the build system used (our Dockerfiles work on |
- Point to updated rockylinux Dockerfiles that don't use heredoc - bump baseimage versions
This comment has been minimized.
This comment has been minimized.
|
Hopefully fixed. We removed the heredoc in rocky distro that was causing the trouble 👍 |
|
Hmm, seems like your test specifically asks for |
|
I am going through the run report again - fixing test errors regarding the missing fontconfig is easy, but looking into the naughty-check, i think we have a problem: https://github.com/docker-library/official-images/actions/runs/20232677034/job/58131567056?pr=16141 (there's also issue with unable to fetch master- it is not a problem, we are adding proper but this: is probably a dealbreaker. You forbid to use any non-official image as a base, but the official rockylinux image is outdated and they are even saying to use this |
- added GitFetch to pass DOI naughty-check - updated to new set of Dockerfiles = rocky now installs fontconfig to pass DOI java tests
This comment has been minimized.
This comment has been minimized.
|
Re: Re: Rocky Linux, yes, it's unfortunately in a rough spot within DOI right now, but I spoke with them just yesterday about getting that updated (and helping them through some of the logistics), so hopefully that situation will improve soon. As for reviewing this PR, we can work on getting through it all, but I would honestly recommend starting with just one or two variants of just one or two versions and working upwards incrementally, but that's not a strict requirement (it just might delay the review because it means we have to review everything all at once, where future PRs could benefit from reduced diffs given their delta from the first proposed variants might be smaller and will show in the diff better/easier). |
|
thanks @tianon for the reply. Re To keep this initial PR as straightforward as possible, we’ll reduce scope and:
So for this PR, the review scope would be:
All Dockerfiles follow the same pattern (installing from our apt repo) and differ only in the exact package name, e.g.: When you mentioned “variants”, did you mean those multiple distros, or something else specifically you’d like us to reduce further? |
Diff for 1443508:diff --git a/_bashbrew-arches b/_bashbrew-arches
index 8b13789..e85a97f 100644
--- a/_bashbrew-arches
+++ b/_bashbrew-arches
@@ -1 +1,2 @@
-
+amd64
+arm64v8
diff --git a/_bashbrew-cat b/_bashbrew-cat
index bdfae4a..8d4ccb6 100644
--- a/_bashbrew-cat
+++ b/_bashbrew-cat
@@ -1 +1,84 @@
-Maintainers: New Image! :D (@docker-library-bot)
+Maintainers: Azul Devops Team <[email protected]> (@azul-publisher), Pavel Petroshenko <[email protected]> (@ppetrosh), Anton Kozlov <[email protected]> (@AntonKozlov), Sergey Grinev <[email protected]> (@sgrinev), Daniel Sentivany <[email protected]> (@dsent9), Frank Delporte <[email protected]> (@fdelporte), Geertjan Wielenga <[email protected]> (@geertjanw)
+GitRepo: https://github.com/AzulSystems/azul-zulu-images.git
+GitFetch: refs/heads/main
+GitCommit: 1cc1bf4aa33bc49aeac6696649c4a3043fde10da
+
+Tags: 8.90-8.0.472-jdk-debian13.2, 8, 8-jdk, 8-jdk-debian13.2
+Architectures: amd64, arm64v8
+Directory: 8/jdk/debian
+
+Tags: 8.90-8.0.472-jdk-headless-debian13.2, 8-headless, 8-headless-debian13.2
+Architectures: amd64, arm64v8
+Directory: 8/jdk-headless/debian
+
+Tags: 8.90-8.0.472-jre-debian13.2, 8-jre, 8-jre-debian13.2
+Architectures: amd64, arm64v8
+Directory: 8/jre/debian
+
+Tags: 8.90-8.0.472-jre-headless-debian13.2, 8-jre-headless, 8-jre-headless-debian13.2
+Architectures: amd64, arm64v8
+Directory: 8/jre-headless/debian
+
+Tags: 11.84-11.0.29-jdk-debian13.2, 11, 11-jdk, 11-jdk-debian13.2
+Architectures: amd64, arm64v8
+Directory: 11/jdk/debian
+
+Tags: 11.84-11.0.29-jdk-headless-debian13.2, 11-headless, 11-headless-debian13.2
+Architectures: amd64, arm64v8
+Directory: 11/jdk-headless/debian
+
+Tags: 11.84-11.0.29-jre-debian13.2, 11-jre, 11-jre-debian13.2
+Architectures: amd64, arm64v8
+Directory: 11/jre/debian
+
+Tags: 11.84-11.0.29-jre-headless-debian13.2, 11-jre-headless, 11-jre-headless-debian13.2
+Architectures: amd64, arm64v8
+Directory: 11/jre-headless/debian
+
+Tags: 17.62-17.0.17-jdk-debian13.2, 17, 17-jdk, 17-jdk-debian13.2
+Architectures: amd64, arm64v8
+Directory: 17/jdk/debian
+
+Tags: 17.62-17.0.17-jdk-headless-debian13.2, 17-headless, 17-headless-debian13.2
+Architectures: amd64, arm64v8
+Directory: 17/jdk-headless/debian
+
+Tags: 17.62-17.0.17-jre-debian13.2, 17-jre, 17-jre-debian13.2
+Architectures: amd64, arm64v8
+Directory: 17/jre/debian
+
+Tags: 17.62-17.0.17-jre-headless-debian13.2, 17-jre-headless, 17-jre-headless-debian13.2
+Architectures: amd64, arm64v8
+Directory: 17/jre-headless/debian
+
+Tags: 21.46-21.0.9-jdk-debian13.2, 21, 21-jdk, 21-jdk-debian13.2
+Architectures: amd64, arm64v8
+Directory: 21/jdk/debian
+
+Tags: 21.46-21.0.9-jdk-headless-debian13.2, 21-headless, 21-headless-debian13.2
+Architectures: amd64, arm64v8
+Directory: 21/jdk-headless/debian
+
+Tags: 21.46-21.0.9-jre-debian13.2, 21-jre, 21-jre-debian13.2
+Architectures: amd64, arm64v8
+Directory: 21/jre/debian
+
+Tags: 21.46-21.0.9-jre-headless-debian13.2, 21-jre-headless, 21-jre-headless-debian13.2
+Architectures: amd64, arm64v8
+Directory: 21/jre-headless/debian
+
+Tags: 25.30-25.0.1-jdk-debian13.2, 25, 25-jdk, 25-jdk-debian13.2
+Architectures: amd64, arm64v8
+Directory: 25/jdk/debian
+
+Tags: 25.30-25.0.1-jdk-headless-debian13.2, 25-headless, 25-headless-debian13.2
+Architectures: amd64, arm64v8
+Directory: 25/jdk-headless/debian
+
+Tags: 25.30-25.0.1-jre-debian13.2, 25-jre, 25-jre-debian13.2
+Architectures: amd64, arm64v8
+Directory: 25/jre/debian
+
+Tags: 25.30-25.0.1-jre-headless-debian13.2, 25-jre-headless, 25-jre-headless-debian13.2
+Architectures: amd64, arm64v8
+Directory: 25/jre-headless/debian
diff --git a/_bashbrew-list b/_bashbrew-list
index e69de29..453f03f 100644
--- a/_bashbrew-list
+++ b/_bashbrew-list
@@ -0,0 +1,65 @@
+azul-zulu:8
+azul-zulu:8-headless
+azul-zulu:8-headless-debian13.2
+azul-zulu:8-jdk
+azul-zulu:8-jdk-debian13.2
+azul-zulu:8-jre
+azul-zulu:8-jre-debian13.2
+azul-zulu:8-jre-headless
+azul-zulu:8-jre-headless-debian13.2
+azul-zulu:8.90-8.0.472-jdk-debian13.2
+azul-zulu:8.90-8.0.472-jdk-headless-debian13.2
+azul-zulu:8.90-8.0.472-jre-debian13.2
+azul-zulu:8.90-8.0.472-jre-headless-debian13.2
+azul-zulu:11
+azul-zulu:11-headless
+azul-zulu:11-headless-debian13.2
+azul-zulu:11-jdk
+azul-zulu:11-jdk-debian13.2
+azul-zulu:11-jre
+azul-zulu:11-jre-debian13.2
+azul-zulu:11-jre-headless
+azul-zulu:11-jre-headless-debian13.2
+azul-zulu:11.84-11.0.29-jdk-debian13.2
+azul-zulu:11.84-11.0.29-jdk-headless-debian13.2
+azul-zulu:11.84-11.0.29-jre-debian13.2
+azul-zulu:11.84-11.0.29-jre-headless-debian13.2
+azul-zulu:17
+azul-zulu:17-headless
+azul-zulu:17-headless-debian13.2
+azul-zulu:17-jdk
+azul-zulu:17-jdk-debian13.2
+azul-zulu:17-jre
+azul-zulu:17-jre-debian13.2
+azul-zulu:17-jre-headless
+azul-zulu:17-jre-headless-debian13.2
+azul-zulu:17.62-17.0.17-jdk-debian13.2
+azul-zulu:17.62-17.0.17-jdk-headless-debian13.2
+azul-zulu:17.62-17.0.17-jre-debian13.2
+azul-zulu:17.62-17.0.17-jre-headless-debian13.2
+azul-zulu:21
+azul-zulu:21-headless
+azul-zulu:21-headless-debian13.2
+azul-zulu:21-jdk
+azul-zulu:21-jdk-debian13.2
+azul-zulu:21-jre
+azul-zulu:21-jre-debian13.2
+azul-zulu:21-jre-headless
+azul-zulu:21-jre-headless-debian13.2
+azul-zulu:21.46-21.0.9-jdk-debian13.2
+azul-zulu:21.46-21.0.9-jdk-headless-debian13.2
+azul-zulu:21.46-21.0.9-jre-debian13.2
+azul-zulu:21.46-21.0.9-jre-headless-debian13.2
+azul-zulu:25
+azul-zulu:25-headless
+azul-zulu:25-headless-debian13.2
+azul-zulu:25-jdk
+azul-zulu:25-jdk-debian13.2
+azul-zulu:25-jre
+azul-zulu:25-jre-debian13.2
+azul-zulu:25-jre-headless
+azul-zulu:25-jre-headless-debian13.2
+azul-zulu:25.30-25.0.1-jdk-debian13.2
+azul-zulu:25.30-25.0.1-jdk-headless-debian13.2
+azul-zulu:25.30-25.0.1-jre-debian13.2
+azul-zulu:25.30-25.0.1-jre-headless-debian13.2
diff --git a/_bashbrew-list-build-order b/_bashbrew-list-build-order
index e69de29..0912f86 100644
--- a/_bashbrew-list-build-order
+++ b/_bashbrew-list-build-order
@@ -0,0 +1,20 @@
+azul-zulu:8-headless-debian13.2
+azul-zulu:8-jdk-debian13.2
+azul-zulu:8-jre-debian13.2
+azul-zulu:8-jre-headless-debian13.2
+azul-zulu:11-headless-debian13.2
+azul-zulu:11-jdk-debian13.2
+azul-zulu:11-jre-debian13.2
+azul-zulu:11-jre-headless-debian13.2
+azul-zulu:17-headless-debian13.2
+azul-zulu:17-jdk-debian13.2
+azul-zulu:17-jre-debian13.2
+azul-zulu:17-jre-headless-debian13.2
+azul-zulu:21-headless-debian13.2
+azul-zulu:21-jdk-debian13.2
+azul-zulu:21-jre-debian13.2
+azul-zulu:21-jre-headless-debian13.2
+azul-zulu:25-headless-debian13.2
+azul-zulu:25-jdk-debian13.2
+azul-zulu:25-jre-debian13.2
+azul-zulu:25-jre-headless-debian13.2
diff --git a/azul-zulu_11-headless-debian13.2/Dockerfile b/azul-zulu_11-headless-debian13.2/Dockerfile
new file mode 100644
index 0000000..3404304
--- /dev/null
+++ b/azul-zulu_11-headless-debian13.2/Dockerfile
@@ -0,0 +1,18 @@
+FROM debian:13.2
+ARG REPO_HOST=repos.azul.com
+
+ENV LANG='en_US.UTF-8'
+RUN apt update && \
+ apt install -y gnupg ca-certificates curl && \
+ curl -s https://repos.azul.com/azul-repo.key | gpg --dearmor -o /usr/share/keyrings/azul.gpg && \
+ echo "deb [signed-by=/usr/share/keyrings/azul.gpg] https://$REPO_HOST/zulu/deb stable main" | tee /etc/apt/sources.list.d/zulu.list && \
+ echo "Package: zulu11-*\nPin: version 11.0.29-1\nPin-Priority: 1001" > /etc/apt/preferences && \
+ apt update && \
+ apt-get -qq -y --no-install-recommends install zulu11-jdk-headless && \
+ apt-get -qq -y purge --auto-remove gnupg curl && \
+ apt-get -qq -y autoremove && \
+ apt-get -qq clean && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -f /etc/apt/sources.list.d/zulu.list
+
+ENV JAVA_HOME=/usr/lib/jvm/zulu11
diff --git a/azul-zulu_11-jdk-debian13.2/Dockerfile b/azul-zulu_11-jdk-debian13.2/Dockerfile
new file mode 100644
index 0000000..c0545c9
--- /dev/null
+++ b/azul-zulu_11-jdk-debian13.2/Dockerfile
@@ -0,0 +1,18 @@
+FROM debian:13.2
+ARG REPO_HOST=repos.azul.com
+
+ENV LANG='en_US.UTF-8'
+RUN apt update && \
+ apt install -y gnupg ca-certificates curl && \
+ curl -s https://repos.azul.com/azul-repo.key | gpg --dearmor -o /usr/share/keyrings/azul.gpg && \
+ echo "deb [signed-by=/usr/share/keyrings/azul.gpg] https://$REPO_HOST/zulu/deb stable main" | tee /etc/apt/sources.list.d/zulu.list && \
+ echo "Package: zulu11-*\nPin: version 11.0.29-1\nPin-Priority: 1001" > /etc/apt/preferences && \
+ apt update && \
+ apt-get -qq -y --no-install-recommends install zulu11-jdk && \
+ apt-get -qq -y purge --auto-remove gnupg curl && \
+ apt-get -qq -y autoremove && \
+ apt-get -qq clean && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -f /etc/apt/sources.list.d/zulu.list
+
+ENV JAVA_HOME=/usr/lib/jvm/zulu11
diff --git a/azul-zulu_11-jre-debian13.2/Dockerfile b/azul-zulu_11-jre-debian13.2/Dockerfile
new file mode 100644
index 0000000..888ff29
--- /dev/null
+++ b/azul-zulu_11-jre-debian13.2/Dockerfile
@@ -0,0 +1,18 @@
+FROM debian:13.2
+ARG REPO_HOST=repos.azul.com
+
+ENV LANG='en_US.UTF-8'
+RUN apt update && \
+ apt install -y gnupg ca-certificates curl && \
+ curl -s https://repos.azul.com/azul-repo.key | gpg --dearmor -o /usr/share/keyrings/azul.gpg && \
+ echo "deb [signed-by=/usr/share/keyrings/azul.gpg] https://$REPO_HOST/zulu/deb stable main" | tee /etc/apt/sources.list.d/zulu.list && \
+ echo "Package: zulu11-*\nPin: version 11.0.29-1\nPin-Priority: 1001" > /etc/apt/preferences && \
+ apt update && \
+ apt-get -qq -y --no-install-recommends install zulu11-jre && \
+ apt-get -qq -y purge --auto-remove gnupg curl && \
+ apt-get -qq -y autoremove && \
+ apt-get -qq clean && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -f /etc/apt/sources.list.d/zulu.list
+
+ENV JAVA_HOME=/usr/lib/jvm/zulu11
diff --git a/azul-zulu_11-jre-headless-debian13.2/Dockerfile b/azul-zulu_11-jre-headless-debian13.2/Dockerfile
new file mode 100644
index 0000000..9ab40ec
--- /dev/null
+++ b/azul-zulu_11-jre-headless-debian13.2/Dockerfile
@@ -0,0 +1,18 @@
+FROM debian:13.2
+ARG REPO_HOST=repos.azul.com
+
+ENV LANG='en_US.UTF-8'
+RUN apt update && \
+ apt install -y gnupg ca-certificates curl && \
+ curl -s https://repos.azul.com/azul-repo.key | gpg --dearmor -o /usr/share/keyrings/azul.gpg && \
+ echo "deb [signed-by=/usr/share/keyrings/azul.gpg] https://$REPO_HOST/zulu/deb stable main" | tee /etc/apt/sources.list.d/zulu.list && \
+ echo "Package: zulu11-*\nPin: version 11.0.29-1\nPin-Priority: 1001" > /etc/apt/preferences && \
+ apt update && \
+ apt-get -qq -y --no-install-recommends install zulu11-jre-headless && \
+ apt-get -qq -y purge --auto-remove gnupg curl && \
+ apt-get -qq -y autoremove && \
+ apt-get -qq clean && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -f /etc/apt/sources.list.d/zulu.list
+
+ENV JAVA_HOME=/usr/lib/jvm/zulu11
diff --git a/azul-zulu_17-headless-debian13.2/Dockerfile b/azul-zulu_17-headless-debian13.2/Dockerfile
new file mode 100644
index 0000000..001a7fa
--- /dev/null
+++ b/azul-zulu_17-headless-debian13.2/Dockerfile
@@ -0,0 +1,18 @@
+FROM debian:13.2
+ARG REPO_HOST=repos.azul.com
+
+ENV LANG='en_US.UTF-8'
+RUN apt update && \
+ apt install -y gnupg ca-certificates curl && \
+ curl -s https://repos.azul.com/azul-repo.key | gpg --dearmor -o /usr/share/keyrings/azul.gpg && \
+ echo "deb [signed-by=/usr/share/keyrings/azul.gpg] https://$REPO_HOST/zulu/deb stable main" | tee /etc/apt/sources.list.d/zulu.list && \
+ echo "Package: zulu17-*\nPin: version 17.0.17-1\nPin-Priority: 1001" > /etc/apt/preferences && \
+ apt update && \
+ apt-get -qq -y --no-install-recommends install zulu17-jdk-headless && \
+ apt-get -qq -y purge --auto-remove gnupg curl && \
+ apt-get -qq -y autoremove && \
+ apt-get -qq clean && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -f /etc/apt/sources.list.d/zulu.list
+
+ENV JAVA_HOME=/usr/lib/jvm/zulu17
diff --git a/azul-zulu_17-jdk-debian13.2/Dockerfile b/azul-zulu_17-jdk-debian13.2/Dockerfile
new file mode 100644
index 0000000..1c34e48
--- /dev/null
+++ b/azul-zulu_17-jdk-debian13.2/Dockerfile
@@ -0,0 +1,18 @@
+FROM debian:13.2
+ARG REPO_HOST=repos.azul.com
+
+ENV LANG='en_US.UTF-8'
+RUN apt update && \
+ apt install -y gnupg ca-certificates curl && \
+ curl -s https://repos.azul.com/azul-repo.key | gpg --dearmor -o /usr/share/keyrings/azul.gpg && \
+ echo "deb [signed-by=/usr/share/keyrings/azul.gpg] https://$REPO_HOST/zulu/deb stable main" | tee /etc/apt/sources.list.d/zulu.list && \
+ echo "Package: zulu17-*\nPin: version 17.0.17-1\nPin-Priority: 1001" > /etc/apt/preferences && \
+ apt update && \
+ apt-get -qq -y --no-install-recommends install zulu17-jdk && \
+ apt-get -qq -y purge --auto-remove gnupg curl && \
+ apt-get -qq -y autoremove && \
+ apt-get -qq clean && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -f /etc/apt/sources.list.d/zulu.list
+
+ENV JAVA_HOME=/usr/lib/jvm/zulu17
diff --git a/azul-zulu_17-jre-debian13.2/Dockerfile b/azul-zulu_17-jre-debian13.2/Dockerfile
new file mode 100644
index 0000000..b8ee955
--- /dev/null
+++ b/azul-zulu_17-jre-debian13.2/Dockerfile
@@ -0,0 +1,18 @@
+FROM debian:13.2
+ARG REPO_HOST=repos.azul.com
+
+ENV LANG='en_US.UTF-8'
+RUN apt update && \
+ apt install -y gnupg ca-certificates curl && \
+ curl -s https://repos.azul.com/azul-repo.key | gpg --dearmor -o /usr/share/keyrings/azul.gpg && \
+ echo "deb [signed-by=/usr/share/keyrings/azul.gpg] https://$REPO_HOST/zulu/deb stable main" | tee /etc/apt/sources.list.d/zulu.list && \
+ echo "Package: zulu17-*\nPin: version 17.0.17-1\nPin-Priority: 1001" > /etc/apt/preferences && \
+ apt update && \
+ apt-get -qq -y --no-install-recommends install zulu17-jre && \
+ apt-get -qq -y purge --auto-remove gnupg curl && \
+ apt-get -qq -y autoremove && \
+ apt-get -qq clean && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -f /etc/apt/sources.list.d/zulu.list
+
+ENV JAVA_HOME=/usr/lib/jvm/zulu17
diff --git a/azul-zulu_17-jre-headless-debian13.2/Dockerfile b/azul-zulu_17-jre-headless-debian13.2/Dockerfile
new file mode 100644
index 0000000..f63281a
--- /dev/null
+++ b/azul-zulu_17-jre-headless-debian13.2/Dockerfile
@@ -0,0 +1,18 @@
+FROM debian:13.2
+ARG REPO_HOST=repos.azul.com
+
+ENV LANG='en_US.UTF-8'
+RUN apt update && \
+ apt install -y gnupg ca-certificates curl && \
+ curl -s https://repos.azul.com/azul-repo.key | gpg --dearmor -o /usr/share/keyrings/azul.gpg && \
+ echo "deb [signed-by=/usr/share/keyrings/azul.gpg] https://$REPO_HOST/zulu/deb stable main" | tee /etc/apt/sources.list.d/zulu.list && \
+ echo "Package: zulu17-*\nPin: version 17.0.17-1\nPin-Priority: 1001" > /etc/apt/preferences && \
+ apt update && \
+ apt-get -qq -y --no-install-recommends install zulu17-jre-headless && \
+ apt-get -qq -y purge --auto-remove gnupg curl && \
+ apt-get -qq -y autoremove && \
+ apt-get -qq clean && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -f /etc/apt/sources.list.d/zulu.list
+
+ENV JAVA_HOME=/usr/lib/jvm/zulu17
diff --git a/azul-zulu_21-headless-debian13.2/Dockerfile b/azul-zulu_21-headless-debian13.2/Dockerfile
new file mode 100644
index 0000000..b9e6151
--- /dev/null
+++ b/azul-zulu_21-headless-debian13.2/Dockerfile
@@ -0,0 +1,18 @@
+FROM debian:13.2
+ARG REPO_HOST=repos.azul.com
+
+ENV LANG='en_US.UTF-8'
+RUN apt update && \
+ apt install -y gnupg ca-certificates curl && \
+ curl -s https://repos.azul.com/azul-repo.key | gpg --dearmor -o /usr/share/keyrings/azul.gpg && \
+ echo "deb [signed-by=/usr/share/keyrings/azul.gpg] https://$REPO_HOST/zulu/deb stable main" | tee /etc/apt/sources.list.d/zulu.list && \
+ echo "Package: zulu21-*\nPin: version 21.0.9-1\nPin-Priority: 1001" > /etc/apt/preferences && \
+ apt update && \
+ apt-get -qq -y --no-install-recommends install zulu21-jdk-headless && \
+ apt-get -qq -y purge --auto-remove gnupg curl && \
+ apt-get -qq -y autoremove && \
+ apt-get -qq clean && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -f /etc/apt/sources.list.d/zulu.list
+
+ENV JAVA_HOME=/usr/lib/jvm/zulu21
diff --git a/azul-zulu_21-jdk-debian13.2/Dockerfile b/azul-zulu_21-jdk-debian13.2/Dockerfile
new file mode 100644
index 0000000..d92d7e5
--- /dev/null
+++ b/azul-zulu_21-jdk-debian13.2/Dockerfile
@@ -0,0 +1,18 @@
+FROM debian:13.2
+ARG REPO_HOST=repos.azul.com
+
+ENV LANG='en_US.UTF-8'
+RUN apt update && \
+ apt install -y gnupg ca-certificates curl && \
+ curl -s https://repos.azul.com/azul-repo.key | gpg --dearmor -o /usr/share/keyrings/azul.gpg && \
+ echo "deb [signed-by=/usr/share/keyrings/azul.gpg] https://$REPO_HOST/zulu/deb stable main" | tee /etc/apt/sources.list.d/zulu.list && \
+ echo "Package: zulu21-*\nPin: version 21.0.9-1\nPin-Priority: 1001" > /etc/apt/preferences && \
+ apt update && \
+ apt-get -qq -y --no-install-recommends install zulu21-jdk && \
+ apt-get -qq -y purge --auto-remove gnupg curl && \
+ apt-get -qq -y autoremove && \
+ apt-get -qq clean && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -f /etc/apt/sources.list.d/zulu.list
+
+ENV JAVA_HOME=/usr/lib/jvm/zulu21
diff --git a/azul-zulu_21-jre-debian13.2/Dockerfile b/azul-zulu_21-jre-debian13.2/Dockerfile
new file mode 100644
index 0000000..aefe860
--- /dev/null
+++ b/azul-zulu_21-jre-debian13.2/Dockerfile
@@ -0,0 +1,18 @@
+FROM debian:13.2
+ARG REPO_HOST=repos.azul.com
+
+ENV LANG='en_US.UTF-8'
+RUN apt update && \
+ apt install -y gnupg ca-certificates curl && \
+ curl -s https://repos.azul.com/azul-repo.key | gpg --dearmor -o /usr/share/keyrings/azul.gpg && \
+ echo "deb [signed-by=/usr/share/keyrings/azul.gpg] https://$REPO_HOST/zulu/deb stable main" | tee /etc/apt/sources.list.d/zulu.list && \
+ echo "Package: zulu21-*\nPin: version 21.0.9-1\nPin-Priority: 1001" > /etc/apt/preferences && \
+ apt update && \
+ apt-get -qq -y --no-install-recommends install zulu21-jre && \
+ apt-get -qq -y purge --auto-remove gnupg curl && \
+ apt-get -qq -y autoremove && \
+ apt-get -qq clean && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -f /etc/apt/sources.list.d/zulu.list
+
+ENV JAVA_HOME=/usr/lib/jvm/zulu21
diff --git a/azul-zulu_21-jre-headless-debian13.2/Dockerfile b/azul-zulu_21-jre-headless-debian13.2/Dockerfile
new file mode 100644
index 0000000..82c3aec
--- /dev/null
+++ b/azul-zulu_21-jre-headless-debian13.2/Dockerfile
@@ -0,0 +1,18 @@
+FROM debian:13.2
+ARG REPO_HOST=repos.azul.com
+
+ENV LANG='en_US.UTF-8'
+RUN apt update && \
+ apt install -y gnupg ca-certificates curl && \
+ curl -s https://repos.azul.com/azul-repo.key | gpg --dearmor -o /usr/share/keyrings/azul.gpg && \
+ echo "deb [signed-by=/usr/share/keyrings/azul.gpg] https://$REPO_HOST/zulu/deb stable main" | tee /etc/apt/sources.list.d/zulu.list && \
+ echo "Package: zulu21-*\nPin: version 21.0.9-1\nPin-Priority: 1001" > /etc/apt/preferences && \
+ apt update && \
+ apt-get -qq -y --no-install-recommends install zulu21-jre-headless && \
+ apt-get -qq -y purge --auto-remove gnupg curl && \
+ apt-get -qq -y autoremove && \
+ apt-get -qq clean && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -f /etc/apt/sources.list.d/zulu.list
+
+ENV JAVA_HOME=/usr/lib/jvm/zulu21
diff --git a/azul-zulu_25-headless-debian13.2/Dockerfile b/azul-zulu_25-headless-debian13.2/Dockerfile
new file mode 100644
index 0000000..80cb288
--- /dev/null
+++ b/azul-zulu_25-headless-debian13.2/Dockerfile
@@ -0,0 +1,18 @@
+FROM debian:13.2
+ARG REPO_HOST=repos.azul.com
+
+ENV LANG='en_US.UTF-8'
+RUN apt update && \
+ apt install -y gnupg ca-certificates curl && \
+ curl -s https://repos.azul.com/azul-repo.key | gpg --dearmor -o /usr/share/keyrings/azul.gpg && \
+ echo "deb [signed-by=/usr/share/keyrings/azul.gpg] https://$REPO_HOST/zulu/deb stable main" | tee /etc/apt/sources.list.d/zulu.list && \
+ echo "Package: zulu25-*\nPin: version 25.0.1-1\nPin-Priority: 1001" > /etc/apt/preferences && \
+ apt update && \
+ apt-get -qq -y --no-install-recommends install zulu25-jdk-headless && \
+ apt-get -qq -y purge --auto-remove gnupg curl && \
+ apt-get -qq -y autoremove && \
+ apt-get -qq clean && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -f /etc/apt/sources.list.d/zulu.list
+
+ENV JAVA_HOME=/usr/lib/jvm/zulu25
diff --git a/azul-zulu_25-jdk-debian13.2/Dockerfile b/azul-zulu_25-jdk-debian13.2/Dockerfile
new file mode 100644
index 0000000..66ba386
--- /dev/null
+++ b/azul-zulu_25-jdk-debian13.2/Dockerfile
@@ -0,0 +1,18 @@
+FROM debian:13.2
+ARG REPO_HOST=repos.azul.com
+
+ENV LANG='en_US.UTF-8'
+RUN apt update && \
+ apt install -y gnupg ca-certificates curl && \
+ curl -s https://repos.azul.com/azul-repo.key | gpg --dearmor -o /usr/share/keyrings/azul.gpg && \
+ echo "deb [signed-by=/usr/share/keyrings/azul.gpg] https://$REPO_HOST/zulu/deb stable main" | tee /etc/apt/sources.list.d/zulu.list && \
+ echo "Package: zulu25-*\nPin: version 25.0.1-1\nPin-Priority: 1001" > /etc/apt/preferences && \
+ apt update && \
+ apt-get -qq -y --no-install-recommends install zulu25-jdk && \
+ apt-get -qq -y purge --auto-remove gnupg curl && \
+ apt-get -qq -y autoremove && \
+ apt-get -qq clean && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -f /etc/apt/sources.list.d/zulu.list
+
+ENV JAVA_HOME=/usr/lib/jvm/zulu25
diff --git a/azul-zulu_25-jre-debian13.2/Dockerfile b/azul-zulu_25-jre-debian13.2/Dockerfile
new file mode 100644
index 0000000..b284028
--- /dev/null
+++ b/azul-zulu_25-jre-debian13.2/Dockerfile
@@ -0,0 +1,18 @@
+FROM debian:13.2
+ARG REPO_HOST=repos.azul.com
+
+ENV LANG='en_US.UTF-8'
+RUN apt update && \
+ apt install -y gnupg ca-certificates curl && \
+ curl -s https://repos.azul.com/azul-repo.key | gpg --dearmor -o /usr/share/keyrings/azul.gpg && \
+ echo "deb [signed-by=/usr/share/keyrings/azul.gpg] https://$REPO_HOST/zulu/deb stable main" | tee /etc/apt/sources.list.d/zulu.list && \
+ echo "Package: zulu25-*\nPin: version 25.0.1-1\nPin-Priority: 1001" > /etc/apt/preferences && \
+ apt update && \
+ apt-get -qq -y --no-install-recommends install zulu25-jre && \
+ apt-get -qq -y purge --auto-remove gnupg curl && \
+ apt-get -qq -y autoremove && \
+ apt-get -qq clean && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -f /etc/apt/sources.list.d/zulu.list
+
+ENV JAVA_HOME=/usr/lib/jvm/zulu25
diff --git a/azul-zulu_25-jre-headless-debian13.2/Dockerfile b/azul-zulu_25-jre-headless-debian13.2/Dockerfile
new file mode 100644
index 0000000..ca8b938
--- /dev/null
+++ b/azul-zulu_25-jre-headless-debian13.2/Dockerfile
@@ -0,0 +1,18 @@
+FROM debian:13.2
+ARG REPO_HOST=repos.azul.com
+
+ENV LANG='en_US.UTF-8'
+RUN apt update && \
+ apt install -y gnupg ca-certificates curl && \
+ curl -s https://repos.azul.com/azul-repo.key | gpg --dearmor -o /usr/share/keyrings/azul.gpg && \
+ echo "deb [signed-by=/usr/share/keyrings/azul.gpg] https://$REPO_HOST/zulu/deb stable main" | tee /etc/apt/sources.list.d/zulu.list && \
+ echo "Package: zulu25-*\nPin: version 25.0.1-1\nPin-Priority: 1001" > /etc/apt/preferences && \
+ apt update && \
+ apt-get -qq -y --no-install-recommends install zulu25-jre-headless && \
+ apt-get -qq -y purge --auto-remove gnupg curl && \
+ apt-get -qq -y autoremove && \
+ apt-get -qq clean && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -f /etc/apt/sources.list.d/zulu.list
+
+ENV JAVA_HOME=/usr/lib/jvm/zulu25
diff --git a/azul-zulu_8-headless-debian13.2/Dockerfile b/azul-zulu_8-headless-debian13.2/Dockerfile
new file mode 100644
index 0000000..506b367
--- /dev/null
+++ b/azul-zulu_8-headless-debian13.2/Dockerfile
@@ -0,0 +1,18 @@
+FROM debian:13.2
+ARG REPO_HOST=repos.azul.com
+
+ENV LANG='en_US.UTF-8'
+RUN apt update && \
+ apt install -y gnupg ca-certificates curl && \
+ curl -s https://repos.azul.com/azul-repo.key | gpg --dearmor -o /usr/share/keyrings/azul.gpg && \
+ echo "deb [signed-by=/usr/share/keyrings/azul.gpg] https://$REPO_HOST/zulu/deb stable main" | tee /etc/apt/sources.list.d/zulu.list && \
+ echo "Package: zulu8-*\nPin: version 8.0.472-1\nPin-Priority: 1001" > /etc/apt/preferences && \
+ apt update && \
+ apt-get -qq -y --no-install-recommends install zulu8-jdk-headless && \
+ apt-get -qq -y purge --auto-remove gnupg curl && \
+ apt-get -qq -y autoremove && \
+ apt-get -qq clean && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -f /etc/apt/sources.list.d/zulu.list
+
+ENV JAVA_HOME=/usr/lib/jvm/zulu8
diff --git a/azul-zulu_8-jdk-debian13.2/Dockerfile b/azul-zulu_8-jdk-debian13.2/Dockerfile
new file mode 100644
index 0000000..bac5964
--- /dev/null
+++ b/azul-zulu_8-jdk-debian13.2/Dockerfile
@@ -0,0 +1,18 @@
+FROM debian:13.2
+ARG REPO_HOST=repos.azul.com
+
+ENV LANG='en_US.UTF-8'
+RUN apt update && \
+ apt install -y gnupg ca-certificates curl && \
+ curl -s https://repos.azul.com/azul-repo.key | gpg --dearmor -o /usr/share/keyrings/azul.gpg && \
+ echo "deb [signed-by=/usr/share/keyrings/azul.gpg] https://$REPO_HOST/zulu/deb stable main" | tee /etc/apt/sources.list.d/zulu.list && \
+ echo "Package: zulu8-*\nPin: version 8.0.472-1\nPin-Priority: 1001" > /etc/apt/preferences && \
+ apt update && \
+ apt-get -qq -y --no-install-recommends install zulu8-jdk && \
+ apt-get -qq -y purge --auto-remove gnupg curl && \
+ apt-get -qq -y autoremove && \
+ apt-get -qq clean && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -f /etc/apt/sources.list.d/zulu.list
+
+ENV JAVA_HOME=/usr/lib/jvm/zulu8
diff --git a/azul-zulu_8-jre-debian13.2/Dockerfile b/azul-zulu_8-jre-debian13.2/Dockerfile
new file mode 100644
index 0000000..850d4cb
--- /dev/null
+++ b/azul-zulu_8-jre-debian13.2/Dockerfile
@@ -0,0 +1,18 @@
+FROM debian:13.2
+ARG REPO_HOST=repos.azul.com
+
+ENV LANG='en_US.UTF-8'
+RUN apt update && \
+ apt install -y gnupg ca-certificates curl && \
+ curl -s https://repos.azul.com/azul-repo.key | gpg --dearmor -o /usr/share/keyrings/azul.gpg && \
+ echo "deb [signed-by=/usr/share/keyrings/azul.gpg] https://$REPO_HOST/zulu/deb stable main" | tee /etc/apt/sources.list.d/zulu.list && \
+ echo "Package: zulu8-*\nPin: version 8.0.472-1\nPin-Priority: 1001" > /etc/apt/preferences && \
+ apt update && \
+ apt-get -qq -y --no-install-recommends install zulu8-jre && \
+ apt-get -qq -y purge --auto-remove gnupg curl && \
+ apt-get -qq -y autoremove && \
+ apt-get -qq clean && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -f /etc/apt/sources.list.d/zulu.list
+
+ENV JAVA_HOME=/usr/lib/jvm/zulu8
diff --git a/azul-zulu_8-jre-headless-debian13.2/Dockerfile b/azul-zulu_8-jre-headless-debian13.2/Dockerfile
new file mode 100644
index 0000000..40fbdba
--- /dev/null
+++ b/azul-zulu_8-jre-headless-debian13.2/Dockerfile
@@ -0,0 +1,18 @@
+FROM debian:13.2
+ARG REPO_HOST=repos.azul.com
+
+ENV LANG='en_US.UTF-8'
+RUN apt update && \
+ apt install -y gnupg ca-certificates curl && \
+ curl -s https://repos.azul.com/azul-repo.key | gpg --dearmor -o /usr/share/keyrings/azul.gpg && \
+ echo "deb [signed-by=/usr/share/keyrings/azul.gpg] https://$REPO_HOST/zulu/deb stable main" | tee /etc/apt/sources.list.d/zulu.list && \
+ echo "Package: zulu8-*\nPin: version 8.0.472-1\nPin-Priority: 1001" > /etc/apt/preferences && \
+ apt update && \
+ apt-get -qq -y --no-install-recommends install zulu8-jre-headless && \
+ apt-get -qq -y purge --auto-remove gnupg curl && \
+ apt-get -qq -y autoremove && \
+ apt-get -qq clean && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -f /etc/apt/sources.list.d/zulu.list
+
+ENV JAVA_HOME=/usr/lib/jvm/zulu8 |
|
Cheers @tianon, The Dockerfile for all variants is "the same", it just differs in the apt package being installed from the repo. All GH action checks passed, so hopefully we are good to go 🙂 Let me know if you have some additional concerns 🙏 🙂 |
Documentation MR: docker-library/docs#2320