{"id":232030,"date":"2025-04-23T16:27:59","date_gmt":"2025-04-23T23:27:59","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/java\/?p=232030"},"modified":"2025-05-13T12:06:12","modified_gmt":"2025-05-13T19:06:12","slug":"important-updates-to-container-images-of-microsoft-build-of-openjdk","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/java\/important-updates-to-container-images-of-microsoft-build-of-openjdk\/","title":{"rendered":"Important Updates to Container Images of Microsoft Build of OpenJDK"},"content":{"rendered":"<p>Mariner Linux 2.0 will reach its End-Of-Life (EOL) in July of 2025 and will be replaced with Azure Linux (version 3.0). To ensure a smooth transition for our customers and partners, the Java Engineering Group (DevDiv JEG) behind the Microsoft Build of OpenJDK has developed a migration aligned with this timeline. This strategy takes effect on <strong>June 30, 2025<\/strong>, coinciding with the official EOL date for Mariner Linux 2.0.<\/p>\n<h3>Our Strategy<\/h3>\n<ul>\n<li><code><strong>jdk:[ver]-azurelinux<\/strong><\/code>: A new container tag based on Azure Linux 3.0, available starting <strong data-start=\"845\" data-end=\"864\">late April 2025<\/strong>, to allow early adoption and testing.<\/li>\n<li><code><strong>jdk:[ver]-mariner<\/strong><\/code>: This tag will continue to point to Mariner Linux 2.0 until <strong data-start=\"993\" data-end=\"1010\">June 30, 2025<\/strong>. After that date, it will automatically redirect to the new Azure Linux-based container image, acting as an alias (of <code data-start=\"1220\" data-end=\"1242\">[ver]-azurelinux<\/code>) for backward compatibility.<\/li>\n<li><code><strong>jdk:[ver]-mariner-cm2<\/strong><\/code>: This tag will be introduced alongside <code data-start=\"1220\" data-end=\"1242\">jdk:[ver]-azurelinux<\/code> and will preserve the final state of Mariner Linux 2.0. It will become an EOL tag on June 30 and receive its final update on July 2025, allowing users to remain on Mariner 2.0 if needed.<\/li>\n<li><code><strong>jdk:[ver]-mariner-cm1<\/strong><\/code>: This existing tag points to Mariner Linux 1.0 and is already in EOL status. It was last updated on November 2023.<\/li>\n<li><code><strong>jdk:[ver]-azurelinux-[az-lnx-ver]<\/strong><\/code>: This tag will be introduced with each new major release of Azure Linux (effectively available under <code data-start=\"1220\" data-end=\"1242\">jdk:[ver]-azurelinux<\/code> tag.) It allows customers to roll back to a specific base OS version after its EOL, similar to how the <code data-start=\"1839\" data-end=\"1845\">-cm2<\/code> tag operates. The first such tag will be created when Azure Linux 4.0 is released (e.g., <code data-start=\"1712\" data-end=\"1736\">jdk:[ver]-azurelinux-3<\/code>).<\/li>\n<li><code><strong>jdk:[ver]-distroless<\/strong><\/code>: This tag will be automatically updated on June 30th to Azure Linux 3.0 base distroless image, and we plan no roll back option for Mariner 2.0. If you find an issue, <a href=\"https:\/\/github.com\/microsoft\/openjdk-docker\">please let us know<\/a>.<\/li>\n<\/ul>\n<p>This way we can ensure a reasonable balance between security by default and alternatives for our customers who need to roll back to previous versions despite them being EOL.<\/p>\n<h3><strong>Reminder about Azul Zulu for Azure<\/strong><\/h3>\n<p>Please note that <a href=\"https:\/\/devblogs.microsoft.com\/java\/deletion-of-outdated-azul-zulu-for-azure-container-images-for-better-security\/\">as planned<\/a>, we will purge Azul Zulu for Azure container images from the Microsoft Container Registry on June 30th, 2025.<\/p>\n<h3><strong>Container images with Azure Linux 3.0 now available (2025-05-12)<\/strong><\/h3>\n<p>Images with Azure Linux 3.0 are now available in the Microsoft Artifact Repository.<\/p>\n<ul>\n<li>JDK 21: docker pull mcr.microsoft.com\/openjdk\/jdk:21-azurelinux<\/li>\n<li>JDK 17: docker pull mcr.microsoft.com\/openjdk\/jdk:17-azurelinux<\/li>\n<li>JDK 11: docker pull mcr.microsoft.com\/openjdk\/jdk:11-azurelinux<\/li>\n<li>JDK 8: docker pull mcr.microsoft.com\/openjdk\/jdk:8-azurelinux<\/li>\n<\/ul>\n<p>And as per the announcement in this blog, the\u00a0<strong>distroless<\/strong> image will be updated by June 30th. In the meantime, users can create their own base container images for testing and early production rollout using the upcoming changes in the following Pull Request:<\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/microsoft\/openjdk-docker\/pull\/122\">Distroless with Azure Linux 3.0 by brunoborges \u00b7 Pull Request #122 \u00b7 microsoft\/openjdk-docker<\/a><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Mariner Linux 2.0 will reach its End-Of-Life (EOL) in July of 2025 and will be replaced with Azure Linux (version 3.0). To ensure a smooth transition for our customers and partners, the Java Engineering Group (DevDiv JEG) behind the Microsoft Build of OpenJDK has developed a migration aligned with this timeline. This strategy takes effect [&hellip;]<\/p>\n","protected":false},"author":9388,"featured_media":227205,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1,249],"tags":[],"class_list":["post-232030","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-java","category-openjdk"],"acf":[],"blog_post_summary":"<p>Mariner Linux 2.0 will reach its End-Of-Life (EOL) in July of 2025 and will be replaced with Azure Linux (version 3.0). To ensure a smooth transition for our customers and partners, the Java Engineering Group (DevDiv JEG) behind the Microsoft Build of OpenJDK has developed a migration aligned with this timeline. This strategy takes effect [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/java\/wp-json\/wp\/v2\/posts\/232030","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/java\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/java\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/java\/wp-json\/wp\/v2\/users\/9388"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/java\/wp-json\/wp\/v2\/comments?post=232030"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/java\/wp-json\/wp\/v2\/posts\/232030\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/java\/wp-json\/wp\/v2\/media\/227205"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/java\/wp-json\/wp\/v2\/media?parent=232030"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/java\/wp-json\/wp\/v2\/categories?post=232030"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/java\/wp-json\/wp\/v2\/tags?post=232030"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}