{"id":486,"date":"2025-09-08T10:30:57","date_gmt":"2025-09-08T10:30:57","guid":{"rendered":"https:\/\/www.aran.cat\/wp\/?p=486"},"modified":"2026-06-13T17:28:28","modified_gmt":"2026-06-13T17:28:28","slug":"containerize-a-spring-boot-application-with-podman-desktop","status":"publish","type":"post","link":"https:\/\/www.aran.cat\/wp\/?p=486","title":{"rendered":"Containerize a Spring Boot application with Podman Desktop"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">FONT: <a href=\"https:\/\/developers.redhat.com\/articles\/2023\/10\/19\/containerize-spring-boot-application-podman-desktop#running_the_containerized_application\">https:\/\/developers.redhat.com\/articles\/2023\/10\/19\/containerize-spring-boot-application-podman-desktop#running_the_containerized_application<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"site-switcher__heading--main-sites\"><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.redhat.com\/en?intcmp=701f20000012k69AAA\"><\/a><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.redhat.com\/en?intcmp=701f20000012k69AAA\"><\/a><a href=\"https:\/\/access.redhat.com?intcmp=701f20000012k6EAAQ\"> <\/a><a href=\"https:\/\/access.redhat.com?intcmp=701f20000012k6EAAQ\"><\/a><a href=\"https:\/\/developers.redhat.com?intcmp=701f20000012k6JAAQ\"> You are here <\/a><a href=\"https:\/\/developers.redhat.com?intcmp=701f20000012k6JAAQ\"><\/a><a href=\"https:\/\/connect.redhat.com?intcmp=7013a000003SwrTAAS\"><\/a><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/connect.redhat.com?intcmp=7013a000003SwrTAAS\"><\/a><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"site-switcher__heading--products\"><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.ansible.com?intcmp=701f20000012k6TAAQ\"><\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/catalog.redhat.com?intcmp=7013a000003SwrYAAS\"><\/a><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"site-switcher__heading--try-buy-sell\"><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/cloud.redhat.com?intcmp=7013a000003SwrdAAC\"><\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.redhat.com\/store?intcmp=701f20000012k6nAAA\"><\/a><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"site-switcher__heading--events\"><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.redhat.com\/summit?intcmp=701f20000012k6xAAA\"><\/a><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h1 class=\"wp-block-heading\" id=\"developer-materials\">Containerize a Spring Boot application with Podman Desktop<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">October 19, 2023<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/developers.redhat.com\/author\/cedric-clyburn\">Cedric Clyburn<\/a> Related topics: <a href=\"https:\/\/developers.redhat.com\/topics\/containers\">Containers<\/a><a href=\"https:\/\/developers.redhat.com\/topics\/enterprise-java\">Java<\/a><a href=\"https:\/\/developers.redhat.com\/topics\/kubernetes\">Kubernetes<\/a><a href=\"https:\/\/developers.redhat.com\/topics\/spring-boot\">Spring Boot<\/a> Related products: <a href=\"https:\/\/developers.redhat.com\/products\/podman-desktop\/overview\">Podman Desktop<\/a><a href=\"https:\/\/developers.redhat.com\/products\/rhel\/overview\">Red Hat Enterprise Linux<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Share:<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><a target=\"_blank\" rel=\"noreferrer noopener\" href=\"https:\/\/developers.redhat.com\/#twitter\"><\/a><a target=\"_blank\" rel=\"noreferrer noopener\" href=\"https:\/\/developers.redhat.com\/#facebook\"> <\/a><a target=\"_blank\" rel=\"noreferrer noopener\" href=\"https:\/\/developers.redhat.com\/#linkedin\"><\/a><a target=\"_blank\" rel=\"noreferrer noopener\" href=\"https:\/\/developers.redhat.com\/#email\"><\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/spring.io\/\">Spring<\/a> and <a href=\"https:\/\/spring.io\/projects\/spring-boot\">Spring Boot<\/a> are developer favorites for building <a href=\"https:\/\/developers.redhat.com\/java\">Java<\/a> applications that run in the cloud. Spring is known for being production-ready, complimenting <a href=\"https:\/\/developers.redhat.com\/topics\/containers\">containerization<\/a> very well. According to the <a href=\"https:\/\/tanzu.vmware.com\/content\/ebooks\/the-state-of-spring-2022\">State of Spring 2022<\/a> report, <a href=\"https:\/\/developers.redhat.com\/topics\/kubernetes\">Kubernetes<\/a> has become the dominant platform for running Spring apps. So, how can we take a Spring application, containerize it, and run it locally? Let\u2019s explore this by using Podman Desktop, an open-source tool to seamlessly work with containers and Kubernetes from your local environment.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"prerequisites-h2\">Prerequisites<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Spring Boot Application: For this article, we\u2019ll use the popular <a href=\"https:\/\/github.com\/spring-projects\/spring-petclinic\">Spring PetClinic<\/a> sample application on GitHub (Figure 1). Feel free to also use your own project\u00a0or start from the <a href=\"https:\/\/start.spring.io\/\">Spring Initializr<\/a>.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/developers.redhat.com\/sites\/default\/files\/screen_shot_2023-10-02_at_10.29.31_am.png\"><img decoding=\"async\" src=\"https:\/\/developers.redhat.com\/sites\/default\/files\/styles\/article_floated\/public\/screen_shot_2023-10-02_at_10.29.31_am.png?itok=5y--7Zly\" alt=\"A screenshot of the Spring Pet clinic Repository on Github\"\/><\/a><figcaption class=\"wp-element-caption\">Figure 1: The Spring Petclinic repository on Github.<\/figcaption><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Podman Desktop: Let\u2019s use <a href=\"https:\/\/podman-desktop.io\/\">Podman Desktop<\/a>, the powerful GUI-based tool for deploying and managing containers using the <a href=\"https:\/\/podman.io\/\">Podman container engine<\/a>. Once installed, you\u2019ll be ready to start containerizing your Spring application (Figure 2).<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/developers.redhat.com\/sites\/default\/files\/screenshot_2023-10-02_at_1.20.08_pm.png\"><img decoding=\"async\" src=\"https:\/\/developers.redhat.com\/sites\/default\/files\/styles\/article_floated\/public\/screenshot_2023-10-02_at_1.20.08_pm.png?itok=MRVyY_em\" alt=\"A screenshot of the Podman Desktop dashboard.\"\/><\/a><figcaption class=\"wp-element-caption\">Figure 2: The Podman Desktop dashboard.<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"containerizing_the_spring_boot_application-h2\">Containerizing the Spring Boot application<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Let\u2019s get started by cloning the application&#8217;s source code if using the PetClinic repository.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">git clone <a href=\"https:\/\/github.com\/spring-projects\/spring-petclinic.git\">https:\/\/github.com\/spring-projects\/spring-petclinic.git<\/a>\ncd spring-petclinic<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">While we can use <a href=\"https:\/\/maven.apache.org\/\">Maven<\/a> to build a jar file and run it, let\u2019s jump straight into creating a Containerfile in the project\u2019s root directory, which will serve as the blueprint for the container image we\u2019ll create later (analogous to Docker\u2019s Dockerfile). You can create the file with the command <code>touch Containerfile<\/code>&nbsp;or simply create it from your IDE. Let\u2019s see what the Containerfile will look like for this sample Spring Boot application:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"># Start with a base image that has Java 17 installed.\nFROM eclipse-temurin:17-jdk-jammy\n\n# Set a default directory inside the container to work from.\nWORKDIR \/app\n\n# Copy the special Maven files that help us download dependencies.\nCOPY .mvn\/.mvn\n\n# Copy only essential Maven files required to download dependencies.\nCOPY mvnw pom.xml.\/\n\n# Download all the required project dependencies.\nRUN .\/mvnw dependency:resolve\n\n# Copy our actual project files (code, resources, etc.) into the container.\nCOPY src.\/src\n\n# When the container starts, run the Spring Boot app using Maven.\nCMD [\".\/mvnw\", \"spring-boot:run\"]\n<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Let\u2019s take a deeper look at the components that make up this Containerfile:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>FROM eclipse-temurin:17-jdk-jammy:\n<ul class=\"wp-block-list\">\n<li>Purpose: This line sets the foundation for our container.<\/li>\n\n\n\n<li>Deep Dive: It tells Podman to use a pre-existing image that already has Java 17 installed. Think of it as choosing a base flavor for a cake before adding more ingredients. We use the <a href=\"https:\/\/hub.docker.com\/_\/eclipse-temurin\">eclipse-temurin<\/a> image because it\u2019s a trusted source for Java installations.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>WORKDIR \/app:\n<ul class=\"wp-block-list\">\n<li>Purpose: Designates a working space in our container.<\/li>\n\n\n\n<li>Deep Dive: Containers have their own file system. Here, we&#8217;re telling Podman to set up a folder named &#8216;app&#8217; and make it the default location for any subsequent operations.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>COPY commands:\n<ul class=\"wp-block-list\">\n<li>Purpose: They transfer files from our local system into the container.<\/li>\n\n\n\n<li>Deep Dive: The first COPY grabs <a href=\"https:\/\/maven.apache.org\/\">Maven<\/a>\u2019s configuration, a tool Java developers use to manage app dependencies. The second copies over the main files of our app: the Maven wrapper (<em>mvnw<\/em>) and the project&#8217;s details (<em>pom.xml<\/em>).<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>RUN .\/mvnw dependency:resolve:\n<ul class=\"wp-block-list\">\n<li>Purpose: Downloads necessary libraries and tools for the app.<\/li>\n\n\n\n<li>Deep Dive: This command activates Maven to fetch everything our app needs to run. By doing this in the Containerfile, we ensure the container has everything packaged neatly.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>COPY src.\/src:\n<ul class=\"wp-block-list\">\n<li>Purpose: Add our actual application code.<\/li>\n\n\n\n<li>Deep Dive: Our app&#8217;s logic, features, and resources reside in the src directory. We&#8217;re moving it into the container so that when the container runs, it has our complete app.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>CMD [\u00ab.\/mvnw\u00bb, \u00abspring-boot:run\u00bb]:\n<ul class=\"wp-block-list\">\n<li>Purpose: Start our application!<\/li>\n\n\n\n<li>Deep Dive: This command is the final step. This line tells Podman to run our Spring Boot application using Maven when our container launches.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">This Containerfile is ready to be used with Podman Desktop to create a container image of our Spring Boot application (Figure 3). Before building the image for this application, let&#8217;s double check the directory structure and Containerfile in our IDE of choice.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/developers.redhat.com\/sites\/default\/files\/screen_shot_2023-09-06_at_10.56.17_pm.png\"><img decoding=\"async\" src=\"https:\/\/developers.redhat.com\/sites\/default\/files\/styles\/article_floated\/public\/screen_shot_2023-09-06_at_10.56.17_pm.png?itok=1ijxka0V\" alt=\"A screenshot of the Containerfile in VSCode.\"\/><\/a><figcaption class=\"wp-element-caption\">Figure 3: The Containerfile in VSCode.<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"building_the_container_image_with_podman_desktop-h2\">Building the container image with Podman Desktop<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">We can now build our container image with Podman Desktop by first heading to the <strong>Images<\/strong> section of Podman Desktop and selecting the <strong>Build an Image<\/strong> button in the top-right corner (Figure 4).<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/developers.redhat.com\/sites\/default\/files\/screen_shot_2023-08-30_at_5.21.57_pm.png\"><img decoding=\"async\" src=\"https:\/\/developers.redhat.com\/sites\/default\/files\/styles\/article_floated\/public\/screen_shot_2023-08-30_at_5.21.57_pm.png?itok=VwBkcN51\" alt=\"A screenshot of the Podman Desktop with the build image button highlighted.\"\/><\/a><figcaption class=\"wp-element-caption\">Figure 4: The Podman Desktop Build Image is highlighted.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">This will open a menu where you can select the path to our previously created Containerfile, which should be in the root directory of the <em>spring-petclinic <\/em>folder. With the Containerfile selected, we can also give our container image a name, for example, petclinic. Now, click on <strong>Build<\/strong>, and you\u2019ll see each of the layers of the image being created. You can find this in your local image registry (the <strong>Image<\/strong>&nbsp;section in Figure 5).<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/developers.redhat.com\/sites\/default\/files\/screen_shot_2023-08-30_at_5.24.54_pm.png\"><img decoding=\"async\" src=\"https:\/\/developers.redhat.com\/sites\/default\/files\/styles\/article_floated\/public\/screen_shot_2023-08-30_at_5.24.54_pm.png?itok=2MFfCeig\" alt=\"A screenshot of the Podman Desktop build image menu.\"\/><\/a><figcaption class=\"wp-element-caption\">Figure 5: The Podman Desktop Build Image menu.<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"running_the_containerized_application-h2\">Running the containerized application<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Fantastic! Let\u2019s return to the <strong>Images<\/strong>&nbsp;section to see the containerized Spring Boot application, now built and tagged as an image, as well as the eclipse-temurin base image that was downloaded to build our petclinic image. We can easily run this image as a container on our system using the <strong>Run<\/strong> icon to the right of our container image (Figure 6).<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/developers.redhat.com\/sites\/default\/files\/screen_shot_2023-08-30_at_5.49.14_pm.png\"><img decoding=\"async\" src=\"https:\/\/developers.redhat.com\/sites\/default\/files\/styles\/article_floated\/public\/screen_shot_2023-08-30_at_5.49.14_pm.png?itok=olz50ECl\" alt=\"A screenshot of the Podman Desktop run container.\"\/><\/a><figcaption class=\"wp-element-caption\">Figure 6: The Podman Desktop showing where to run the container.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Under&nbsp;<strong>Port Mapping<\/strong>, make sure to assign port 8080 of the container to port 8080 of the host. Feel free to leave all other settings as default. Click <strong>Start Container<\/strong> to launch the containerized instance of your Spring Boot application (Figure 7).<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/developers.redhat.com\/sites\/default\/files\/screen_shot_2023-08-30_at_5.50.38_pm.png\"><img decoding=\"async\" src=\"https:\/\/developers.redhat.com\/sites\/default\/files\/styles\/article_floated\/public\/screen_shot_2023-08-30_at_5.50.38_pm.png?itok=1Q6I4Lv6\" alt=\"A screenshot showing the start container button in the Podman Desktop menu.\"\/><\/a><figcaption class=\"wp-element-caption\">Figure 7: Click the start container button in the Podman Desktop menu.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Now, with the container up and running, let\u2019s open the container\u2019s URL in the browser using the handy open browser button within the Podman Desktop user interface (Figure 8).<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/developers.redhat.com\/sites\/default\/files\/screen_shot_2023-08-30_at_5.55.04_pm.png\"><img decoding=\"async\" src=\"https:\/\/developers.redhat.com\/sites\/default\/files\/styles\/article_floated\/public\/screen_shot_2023-08-30_at_5.55.04_pm.png?itok=Z1wRLoLe\" alt=\"A screenshot of the Podman Desktop highlighting the open browser button.\"\/><\/a><figcaption class=\"wp-element-caption\">Figure 8: The Podman Desktop highlighting the open browser button.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Perfect, looks like our Spring Boot application is running, thanks to the startup command in our Containerfile, as well as the port mapping we configured in Podman Desktop (Figure 9).<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/developers.redhat.com\/sites\/default\/files\/screen_shot_2023-09-05_at_4.17.20_pm.png\"><img decoding=\"async\" src=\"https:\/\/developers.redhat.com\/sites\/default\/files\/styles\/article_floated\/public\/screen_shot_2023-09-05_at_4.17.20_pm.png?itok=idFiYBBg\" alt=\"A screenshot showing the Spring Boot application is running in Chrome.\"\/><\/a><figcaption class=\"wp-element-caption\">Figure 9: The Spring Boot application is running in Chrome.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Now we can see this PetClinic application running in our browser, but that\u2019s not all. For more features that may involve bringing out the terminal, we can now use Podman Desktop instead (Figure 10). This may include, SSH\u2019ing into a container for debugging and modifying settings, maybe viewing the logs of a container, or inspecting environment variables. This can all be done under the <strong>Container Details<\/strong> section that opens automatically after starting the container.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/developers.redhat.com\/sites\/default\/files\/okay.png\"><img decoding=\"async\" src=\"https:\/\/developers.redhat.com\/sites\/default\/files\/styles\/article_floated\/public\/okay.png?itok=9V3ZZ_K0\" alt=\"A screenshot of the Podman Desktop terminal.\"\/><\/a><figcaption class=\"wp-element-caption\">Figure 10: The Podman Desktop terminal.<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"wrapping_up-h2\">Wrapping up<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">We have gone from local Spring Boot code to containerizing the application and running it with <a href=\"https:\/\/podman-desktop.io\/\">Podman Desktop<\/a>! Now, as a container, we can share this application across environments using registries like <a href=\"https:\/\/quay.io\/\">Quay.io<\/a> and <a href=\"https:\/\/hub.docker.com\/\">Docker Hub<\/a>&nbsp;and deploy it using <a href=\"https:\/\/developers.redhat.com\/topics\/kubernetes\">Kubernetes<\/a> and <a href=\"https:\/\/developers.redhat.com\/products\/openshift\/getting-started\">OpenShift<\/a> to a variety of different cloud providers.<em>Last updated: January 15, 2025<\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Related Posts<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/developers.redhat.com\/blog\/2018\/03\/27\/spring-boot-mysql-openshift\">Deploying a Spring Boot App with MySQL on OpenShift<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/developers.redhat.com\/blog\/2017\/10\/02\/configuring-spring-boot-application-kubernetes\">Configuring Spring Boot Application on Kubernetes<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/developers.redhat.com\/articles\/2023\/06\/09\/deploy-and-test-kubernetes-containers-using-podman-desktop\">Deploy and test Kubernetes containers using Podman Desktop<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/developers.redhat.com\/articles\/2023\/03\/01\/podman-desktop-introduction\">What is Podman Desktop? A developer&#8217;s introduction<\/a><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Recent Posts<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/developers.redhat.com\/articles\/2025\/09\/08\/multicluster-authentication-ansible-automation-platform\">Multicluster authentication with Ansible Automation Platform<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/developers.redhat.com\/articles\/2025\/09\/08\/verify-cosign-bring-your-own-pki-signature-openshift\">Verify Cosign bring-your-own PKI signature on OpenShift<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/developers.redhat.com\/articles\/2025\/09\/05\/whats-new-network-observability-19\">What&#8217;s new in network observability 1.9<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/developers.redhat.com\/articles\/2025\/09\/04\/how-migrate-fluentd-vector-openshift-4\">How to migrate from Fluentd to Vector in OpenShift 4<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/developers.redhat.com\/articles\/2025\/09\/04\/how-platform-engineering-accelerates-enterprise-ai-adoption\">How platform engineering accelerates enterprise AI adoption<\/a><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">What\u2019s up next?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Read Podman in Action for easy-to-follow examples to help you learn Podman quickly, including steps to deploy a complete containerized web service.<a href=\"https:\/\/developers.redhat.com\/\"> <\/a><a href=\"https:\/\/www.linkedin.com\/showcase\/red-hat-developer\">LinkedIn<\/a><a href=\"https:\/\/www.youtube.com\/channel\/UC7noUdfWp-ukXUlAsJnSm-Q\">YouTube<\/a><a href=\"https:\/\/twitter.com\/rhdevelopers\">Twitter<\/a><a href=\"https:\/\/www.facebook.com\/redhatinc\">Facebook<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"rh-footer-8bggqsvhs\">Products<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/developers.redhat.com\/products\/rhel\/overview\">Red Hat Enterprise Linux<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/developers.redhat.com\/products\/openshift\/overview\">Red Hat OpenShift<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/developers.redhat.com\/products\/ansible\/overview\">Red Hat Ansible Automation Platform<\/a><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"rh-footer-31ef536z8\">Build<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/developers.redhat.com\/developer-sandbox\">Developer Sandbox<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/developers.redhat.com\/topics\/developer-tools\">Developer Tools<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/developers.redhat.com\/learn#assembly-id-70181\">Interactive Tutorials<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/developers.redhat.com\/api-catalog\/\">API Catalog<\/a><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"rh-footer-mmh2ghgdr\">Quicklinks<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/developers.redhat.com\/learn\">Learning Resources<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/developers.redhat.com\/e-books\">E-books<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/developers.redhat.com\/cheat-sheets\">Cheat Sheets<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/developers.redhat.com\/blog\">Blog<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/developers.redhat.com\/events\">Events<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/developers.redhat.com\/newsletter\">Newsletter<\/a><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"rh-footer-nm2862jb3\">Communicate<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/developers.redhat.com\/about\">About us<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/developers.redhat.com\/contact-sales\">Contact sales<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/catalog.redhat.com\/partners\/\">Find a partner<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/developers.redhat.com\/report_a_website_issue\">Report a website issue<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/status.redhat.com\/\">Site Status Dashboard<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/access.redhat.com\/security\/team\/contact\/?extIdCarryOver=true&amp;sc_cid=701f2000001OH6pAAG\">Report a security problem<\/a><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"about-red-hat-developer\">RED HAT DEVELOPER<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Build here. Go anywhere.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We serve the builders. The problem solvers who create careers with code.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Join us if you\u2019re a developer, software engineer, web designer, front-end designer, UX designer, computer scientist, architect, tester, product manager, project manager or team lead.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/developers.redhat.com\/register\">Sign me up<\/a><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/redhat.com\/en\/about\/company\">About Red Hat<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/redhat.com\/en\/jobs\">Jobs<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/redhat.com\/en\/events\">Events<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/redhat.com\/en\/about\/office-locations\">Locations<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/redhat.com\/en\/contact\">Contact Red Hat<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/redhat.com\/en\/blog\">Red Hat Blog<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.redhat.com\/en\/about\/our-culture\/diversity-equity-inclusion\">Inclusion at Red Hat<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/coolstuff.redhat.com\/\">Cool Stuff Store<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.redhat.com\/en\/summit\">Red Hat Summit<\/a><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u00a9 2025 Red Hat<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/redhat.com\/en\/about\/privacy-policy\">Privacy statement<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/redhat.com\/en\/about\/terms-use\">Terms of use<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/redhat.com\/en\/about\/all-policies-guidelines\">All policies and guidelines<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/redhat.com\/en\/about\/digital-accessibility\">Digital accessibility<\/a><\/li>\n\n\n\n<li><a>Cookie preferences<\/a><\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-embed\"><div class=\"wp-block-embed__wrapper\">\nhttps:\/\/www.google.com\/recaptcha\/api2\/bframe?hl=en&#038;v=Lu6n5xwy2ghvnPNo3IxkhcCb&#038;k=6LfI4RApAAAAAF0FZDNh0WxeTb5vW26PPphSO9CR&#038;bft=0dAFcWeA4cWuzQUGkfsrWOK2bL2tgkxlHUWBM7aegdByjKYGUp9Bscf1mdedF5sLmoYL8ru6xp1vPOFU6FF0l_bIY8xaZM4xN2sg\n<\/div><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>FONT: https:\/\/developers.redhat.com\/articles\/2023\/10\/19\/containerize-spring-boot-application-podman-desktop#running_the_containerized_application You are here Containerize a Spring Boot application with Podman Desktop October 19, 2023 Cedric Clyburn Related topics: ContainersJavaKubernetesSpring Boot Related products: Podman DesktopRed Hat Enterprise Linux Share: Spring and Spring Boot are developer favorites for building Java applications that run in the cloud. Spring is known for [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[16,17,4,9,27],"tags":[],"class_list":["post-486","post","type-post","status-publish","format-standard","hentry","category-informatica","category-programacio","category-programari-lliure","category-tomcat","category-virtualitzacio"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.aran.cat\/wp\/index.php?rest_route=\/wp\/v2\/posts\/486","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.aran.cat\/wp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.aran.cat\/wp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.aran.cat\/wp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.aran.cat\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=486"}],"version-history":[{"count":1,"href":"https:\/\/www.aran.cat\/wp\/index.php?rest_route=\/wp\/v2\/posts\/486\/revisions"}],"predecessor-version":[{"id":487,"href":"https:\/\/www.aran.cat\/wp\/index.php?rest_route=\/wp\/v2\/posts\/486\/revisions\/487"}],"wp:attachment":[{"href":"https:\/\/www.aran.cat\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=486"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.aran.cat\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=486"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.aran.cat\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=486"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}