首頁 > Java > java教程 > 主體

使用 Maven 以及 PostgreSQL 資料庫對 Java Spring Boot 應用程式進行 Docker 化

王林
發布: 2024-09-12 10:19:07
原創
876 人瀏覽過

Docker化 Spring Boot 應用程式涉及建立包含您的應用程式及其相依性的 Docker 映像。這允許您以一種可以輕鬆共享並在任何安裝了 Docker 的電腦上運行的方式打包應用程式。以下是對基於 Maven 的 Spring Boot 應用程式進行 Docker 化並在 Docker 容器中執行它的逐步說明。

第 1 步:安裝 Docker

首先,請確保本機電腦上安裝了 Docker。您可以從 Docker 官方網站下載。請按照適合您的作業系統的安裝說明進行操作。

如果完成了步驟 1,請執行步驟 2

第 2 步:建立 Dockerfile

在 Spring Boot 應用程式的根目錄(pom.xml 檔案所在的位置)中,建立一個名為 Dockerfile 的文件,不帶任何檔案副檔名。該檔案將定義 Docker 映像。

以下是 Dockerfile 的簡單範例:

Dockerizing your Java Spring Boot application with Maven, along with a PostgreSQL database

注意:您可能會在這裡遇到一些問題。嘗試解決。應該不會很大。例如> 錯誤[內部]載入 docker.io/library/maven:3.8.6-openjdk-17

的元數據

第 3 步:建立 Docker 映像

開啟終端機(命令提示字元或 shell)並導航至包含 Dockerfile 的目錄。執行以下命令來建置 Docker 映像:

docker build -t 你的映像名稱。

將 your-image-name 替換為您想要為 Docker 映像指定的名稱。

第 4 步:驗證 Docker 映像

建置完成後,驗證您的映像是否已成功建立:

docker 映像

您應該會在輸出中看到您的影像。

第 5 步:執行 Docker 容器

現在您可以使用以下命令執行 Docker 容器:

docker run -p 8080:8080 你的映像名稱

此指令將容器的連接埠 8080 對應到主機的連接埠 8080。將 your-image-name 替換為您建立鏡像時使用的名稱。

第 6 步:測試您的應用程式

您可以透過開啟 Web 瀏覽器並導航至 http://localhost:8080 來存取 Spring Boot 應用程式。如果一切設定正確,您應該會看到您的應用程式正在運行。

第 7 步:匯出 Docker 映像

要與無法存取網際網路的其他團隊共用 Docker 映像,您可以將映像儲存為 tar 檔案:

docker save -o your-image-name.tar your-image-name

這將建立您的 Docker 映像的 tarball,可以將其傳輸到其他團隊的虛擬機器。

第 8 步:在目標機器上載入 Docker 映像

其他團隊收到 your-image-name.tar 檔案後,他們可以使用以下命令將該映像載入到他們的 Docker 環境中:

docker load -i your-image-name.tar

第 9 步:在目標機器上執行 Docker 容器

載入鏡像後,其他團隊可以使用相同的命令運行容器:

docker run -p 8080:8080 你的映像名稱

第 10 步:存取應用程式

現在應該可以在目標電腦上透過 http://localhost:8080 存取該應用程式。

附加說明

資料庫設定:如果您的應用程式使用 PostgreSQL,您可能需要設定 PostgreSQL 容器或確保可以從應用程式存取資料庫。您可以建立一個 Docker Compose 檔案來管理多個容器(例如,一個用於您的應用程序,一個用於 PostgreSQL)。

環境變數:如果您的應用程式需要環境變數(用於資料庫設定等),您可以使用 docker run 命令中的 -e 標誌將它們傳遞到 Docker 容器。

卷掛載:如果應用程式需要持久化資料或需要存取本機文件,請考慮使用 Docker 磁碟區。

透過執行這些步驟,您應該能夠成功 Dockerize 您的 Spring Boot 應用程式並與其他團隊共用。

謝謝,
岡仁波齊
JavaCharter

以上是使用 Maven 以及 PostgreSQL 資料庫對 Java Spring Boot 應用程式進行 Docker 化的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板