<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Mohammad-Ali A'râbi on foojay.io - Friends of OpenJDK</title><link>https://foojayio.github.io/website/today/author/aerabi/</link><description>Articles written by Mohammad-Ali A'râbi on foojay.io - Friends of OpenJDK</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Mon, 27 Apr 2026 09:55:12 +0000</lastBuildDate><atom:link href="https://foojayio.github.io/website/today/author/aerabi/index.xml" rel="self" type="application/rss+xml"/><item><title>Dockerizing a Java 26 Project with Docker Init</title><link>https://foojayio.github.io/website/today/dockerizing-a-java-26-project-with-docker-init/</link><pubDate>Mon, 27 Apr 2026 09:55:12 +0000</pubDate><guid>https://foojayio.github.io/website/today/dockerizing-a-java-26-project-with-docker-init/</guid><description>&lt;p&gt;Docker Init was introduced in Docker Desktop 4.27, before LLMs became the default answer to everything. It&amp;rsquo;s a &amp;ldquo;smart&amp;rdquo; interactive wizard that analyzes your project and generates:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;A &lt;code&gt;Dockerfile&lt;/code&gt; (multi-stage, production-ready)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;A &lt;code&gt;compose.yaml&lt;/code&gt; file&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;A &lt;code&gt;.dockerignore&lt;/code&gt; file&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;A &lt;code&gt;README.Docker.md&lt;/code&gt; with build and run instructions&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;What makes it valuable is that it&amp;rsquo;s deterministic&amp;mdash;not a probabilistic guess. It produces the same correct output every time, following Docker&amp;rsquo;s own best practices.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://dockersecurity.io/commandos-asgard/asgard-init.png" alt="Docker Commandos setting up the command center" loading="lazy"&gt;
&lt;/p&gt;</description></item></channel></rss>