知識庫 / DevOps RSS 訂閱

使用 Podman Desktop 容器化 Spring Boot 應用

DevOps,Spring Cloud
HongKong
5
11:08 AM · Dec 06 ,2025

1. 概述

在本教程中,我們將學習如何使用 Podman Desktop 容器化一個 Spring Boot 應用程序。Podman 是一種容器化工具,它允許我們管理容器,而無需運行守護進程。

Podman Desktop 是一款桌面應用程序,具有圖形用户界面,用於使用 Podman 管理容器。

為了演示其使用方法,我們將創建一個簡單的 Spring Boot 應用程序,構建容器鏡像,並使用 Podman Desktop 運行容器。

2. 安裝 Podman 桌面版

我們需要在本地機器上安裝 Podman 桌面版,以便開始使用。它適用於 Windows、macOS 和 Linux 操作系統。下載安裝包後,我們可以按照安裝説明在我們的機器上設置 Podman 桌面版。

以下是設置 Podman 桌面版的一些重要步驟:

  • Podman 應該已經在機器上安裝。如果沒有安裝,Podman 桌面版會自動為我們安裝它。
  • 一旦 Podman 準備就緒,我們將會被提示啓動 Podman 機器。我們可以選擇默認設置或根據需要進行自定義。這在我們可以運行容器之前是必需的。
  • 此外,對於 Windows,在我們可以運行 Podman 之前,我們需要啓用/安裝 WSL2(Windows 子系統 Linux)

在安裝過程結束時,我們應該擁有一個可以由 Podman 桌面應用程序管理的 Podman 機器。 我們可以在其 儀表盤 部分進行驗證:

3. 創建 Spring Boot 應用程序

讓我們創建一個小型 Spring Boot 應用程序。該應用程序將包含一個 REST 控制器,當訪問 /hello</em/> 端點時,返回 “Hello, World!”</em/> 消息。

我們將使用 Maven 構建項目並創建一個 jar</em/> 文件。然後,我們將創建一個 Containerfile</em/>(在 Docker 的上下文中也稱為 Dockerfile)。 我們將使用此文件,使用 Podman Desktop 為我們的應用程序構建容器鏡像。

3.1. 項目設置

首先,我們將 Spring Boot Starter Web 依賴添加到我們的項目中:

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <version>3.3.2</version>
    </dependency>
</dependencies>

此依賴項提供用於創建 Spring Boot Web 應用程序所需的庫。

3.2. 控制器

接下來,讓我們創建一個 REST 控制器:

@RestController
public class HelloWorldController {
    @GetMapping("/hello")
    public String helloWorld() {
        return "Hello, World!";
    }
}

我們這裏使用 @RestController 註解來標記該類為一個控制器,並使用 @GetMapping 註解將該方法映射到 /hello 端點。當訪問該端點時,它會返回 “Hello, World!” 消息。

3.3. 構建項目

可以使用 Maven 通過在終端中運行以下命令來構建項目:

mvn clean package

此命令編譯項目,運行測試,並在 target 目錄下創建一個 jar 文件。

4. Containerfile

現在我們已經準備好 Spring Boot 應用程序,接下來我們創建一個 Containerfile 以為我們的應用程序構建鏡像。 我們將在項目根目錄下創建此文件:

FROM openjdk:17-alpine
WORKDIR /app
COPY target/spring-boot-podman-desktop-1.0-SNAPSHOT.jar app.jar
EXPOSE 8080
CMD ["java", "-jar", "app.jar"]

本文件中:

  • 首先,我們使用 openjdk:17-alpine 鏡像作為基礎鏡像。
  • 然後,我們將工作目錄設置為 /app
  • 接着,我們將 Maven 生成的 jar 文件複製到 /app 目錄。
  • 我們暴露端口 8080,這是 Spring Boot 應用程序的默認端口。
  • 最後,我們使用 CMD 命令指定我們希望在容器啓動時使用 java -jar 命令運行 jar 文件。

5. 使用 Podman 桌面構建鏡像

一旦 Containerfile 配置完成,我們接下來將使用 Podman 桌面應用程序來創建鏡像。

首先,我們前往 鏡像 選項卡,然後點擊 構建 按鈕:

然後,我們填寫鏡像的詳細信息:

  • 設置鏡像的名稱
  • 選擇 Containerfile 的位置
  • 使用項目目錄作為上下文目錄
  • 我們還可以選擇鏡像的平台(們)。我們將使用默認值。

以下是一個參數和值的示例:

填寫完詳細信息後,我們可以點擊 構建 按鈕來構建鏡像。 構建完成後,我們可以找到鏡像在 鏡像 選項卡中。

6. 運行容器

現在我們已經準備好鏡像,可以使用鏡像運行容器。可以通過在 鏡像 部分,點擊與 hello-world-demo 鏡像旁邊的 運行 按鈕來完成此操作:

6.1. 啓動容器

接下來,我們將填充容器的詳細信息。我們在 Containerfile 中設置的屬性將預先填充,並且可以根據需要進行自定義:

在此情況下,端口映射和命令已預先填充。如果需要,還可以設置其他屬性,例如環境變量、卷等。 還可以設置容器的名稱。

在填充詳細信息後,可以點擊 啓動容器 按鈕來啓動容器。 這將打開 容器詳情 部分並顯示容器日誌:

6.2. 測試應用程序

容器啓動後,可以通過打開瀏覽器並導航到 http://localhost:8080/hello 訪問應用程序。您將在頁面上看到 “Hello, World!” 消息:

6.3. 停止容器

要停止容器,請點擊“容器詳情”部分上方的 停止 按鈕。

或者,我們可以在容器列表中點擊要停止的容器的 停止 按鈕:

7. 結論

在本文中,我們學習瞭如何使用 Podman Desktop 容器化 Spring Boot 應用程序。我們創建了一個包含 API 端點的簡單 Spring Boot 應用程序,併為它創建了 Containerfile。然後,我們使用 Podman Desktop 應用程序構建了鏡像,並使用鏡像運行了容器。最後,容器啓動後,我們測試了我們的端點是否正常工作。

user avatar
0 位用戶收藏了這個故事!
收藏

發佈 評論

Some HTML is okay.