国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁(yè) > news >正文

網(wǎng)站導(dǎo)航漂浮代碼整合營(yíng)銷傳播方案

網(wǎng)站導(dǎo)航漂浮代碼,整合營(yíng)銷傳播方案,制作軟件的公司叫什么,制作代碼的軟件如何使用 Maven 將 Spring Boot 應(yīng)用程序 Docker 化? Docker是一個(gè)開(kāi)源容器化工具,用于在隔離環(huán)境中構(gòu)建、運(yùn)行和管理應(yīng)用程序。它方便開(kāi)發(fā)人員捆綁其軟件、庫(kù)和配置文件。Docker 有助于將一個(gè)容器與另一個(gè)容器隔離。在本文中,為了將Spring B…

?如何使用 Maven 將 Spring Boot 應(yīng)用程序 Docker 化?

Docker是一個(gè)開(kāi)源容器化工具,用于在隔離環(huán)境中構(gòu)建、運(yùn)行和管理應(yīng)用程序。它方便開(kāi)發(fā)人員捆綁其軟件、庫(kù)和配置文件。Docker 有助于將一個(gè)容器與另一個(gè)容器隔離。在本文中,為了將Spring Boot 應(yīng)用程序 docker 化以進(jìn)行部署,我們將學(xué)習(xí)如何創(chuàng)建 Spring Boot 應(yīng)用程序,以及如何為 Spring Boot 應(yīng)用程序創(chuàng)建docker 鏡像,并在docker 容器上運(yùn)行它。

目錄

  • Spring Boot 中的 Docker 是什么?
  • Spring Boot Docker Compose 做什么?
  • Docker化獨(dú)立的Spring Boot應(yīng)用程序
  • 如何在 Docker Compose 中部署 Spring Boot 應(yīng)用程序?
  • 在容器中運(yùn)行 Spring Boot Docker 映像
  • 如何更改基礎(chǔ)鏡像
  • 使用 Docker Compose 工具將 Spring Boot 應(yīng)用程序 Docker 化

Spring Boot 中的 Docker 是什么?

Spring Boot應(yīng)用程序中的Docker有助于將 Spring Boot 應(yīng)用程序容器化。它支持應(yīng)用程序提供一致性、可擴(kuò)展性和易于部署。使用 Docker 時(shí),開(kāi)發(fā)人員將能夠?qū)?yīng)用程序與其依賴項(xiàng)和配置一起打包,確保它在不同環(huán)境中以相同的方式運(yùn)行。這種方法有助于簡(jiǎn)化應(yīng)用程序部署,提高資源利用率和增強(qiáng)可擴(kuò)展性,使其成為現(xiàn)代云原生應(yīng)用程序的理想選擇。

使用 Maven 將 Spring Boot 應(yīng)用程序 Docker 化是讓您的應(yīng)用程序更易于移植和管理的重要步驟。對(duì)于那些希望深入探索 Docker 化并掌握從開(kāi)發(fā)到生產(chǎn)的整個(gè)過(guò)程的人來(lái)說(shuō),DevOps 工程 - 規(guī)劃到生產(chǎn)課程提供了全面的指南。

Spring Boot Docker Compose 做什么?

使用docker compose 編寫spring boot java 應(yīng)用程序有助于實(shí)現(xiàn)多容器 spring boot 應(yīng)用程序的無(wú)縫部署和管理。以下是它的一些好處:

  • 簡(jiǎn)化配置:它支持在單個(gè) YAML 文件中定義和管理 Spring Boot 應(yīng)用程序以及數(shù)據(jù)庫(kù)和其他服務(wù)。
  • 一致的環(huán)境:它確保應(yīng)用程序在開(kāi)發(fā)、測(cè)試和生產(chǎn)環(huán)境中以相同的方式運(yùn)行,從而最大限度地減少系統(tǒng)問(wèn)題。
  • 可擴(kuò)展性:它提供可擴(kuò)展性功能,可以根據(jù)需求輕松地?cái)U(kuò)展或縮小 Spring Boot 服務(wù),從而優(yōu)化資源使用。
  • 高效的編排:實(shí)現(xiàn)相互依賴服務(wù)的啟動(dòng)、關(guān)閉和管理的自動(dòng)化,從而簡(jiǎn)化部署過(guò)程。

Docker化獨(dú)立的Spring Boot應(yīng)用程序

獨(dú)立 Spring Boot 應(yīng)用程序:獨(dú)立 Spring Boot 應(yīng)用程序是利用 Spring Boot 框架的 Java 應(yīng)用程序,無(wú)需外部服務(wù)器軟件即可獨(dú)立運(yùn)行。它嵌入應(yīng)用程序服務(wù)器,可以作為獨(dú)立JAR 文件執(zhí)行,從而簡(jiǎn)化部署并減少依賴性。

要將 Spring Boot 應(yīng)用程序 docker 化,我們首先需要?jiǎng)?chuàng)建一個(gè)簡(jiǎn)單的 Spring Boot 應(yīng)用程序。然后我們需要將 Maven 插件添加到我們的 XML 文件中,之后我們可以創(chuàng)建一個(gè)可執(zhí)行 jar 文件。下一節(jié)將討論并指導(dǎo)其實(shí)現(xiàn)。

如何在 Docker Compose 中部署 Spring Boot 應(yīng)用程序?

以下是指導(dǎo)將 Spring Boot 應(yīng)用程序 docker 化的步驟:

步驟 1:使用https://start.spring.io創(chuàng)建骨架應(yīng)用程序。

第 2 步:現(xiàn)在創(chuàng)建一個(gè)具有以下配置的 maven 項(xiàng)目。輸入所有詳細(xì)信息后,單擊“生成”按鈕下載項(xiàng)目。

步驟3:解壓壓縮文件。

  • 現(xiàn)在,在您選擇的 IDE 中打開(kāi)它。

Spring Boot 構(gòu)建包

借助 Spring Boot buildpacks,將 Spring Boot 應(yīng)用打包到容器鏡像中時(shí)無(wú)需Dockerfile和手動(dòng)配置。它允許開(kāi)發(fā)人員利用針對(duì)其 Spring Boot 項(xiàng)目的自動(dòng)鏡像生成功能,從而讓他們能夠?qū)W⒂诰帉懘a。

這些構(gòu)建包會(huì)自動(dòng)識(shí)別應(yīng)用程序的先決條件,包括運(yùn)行時(shí)參數(shù)和依賴項(xiàng),并將所有內(nèi)容組合在一起以制作適合生產(chǎn)的容器映像。這提高了開(kāi)發(fā)人員的工作效率,簡(jiǎn)化了容器化過(guò)程,并提高了部署之間的一致性。

步驟 4:下面是使用 buildpacks 創(chuàng)建 docker 鏡像的依賴項(xiàng)。現(xiàn)在我們需要在 pom.xml 文件中添加以下 Maven 插件。

<build>
??????<plugins>
??????????????<plugin>
??????????????????????<groupId>org.springframework.boot</groupId>
??????????????????????<artifactId>spring-boot-maven-plugin</artifactId>
??????????????</plugin>
???????</plugins>
</build>

第五步:打開(kāi)項(xiàng)目的基礎(chǔ)java文件,向應(yīng)用程序的基類添加一個(gè)新的控制器。

@RequestMapping("/")
public String home() {return "Dockerizing Spring Boot Application";
}

步驟 6:現(xiàn)在,添加@RestController注釋并導(dǎo)入所需的包。最后,您的 Application.java 文件應(yīng)如下所示。

Java

package com.docker.spring;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@SpringBootApplication
@RestController
public class Application {

? ? @RequestMapping("/")
? ? public String home() {
? ? ? ? return "Dockerizing Spring Boot Application";
? ? }

? ? public static void main(String[] args) {
? ? ? ? SpringApplication.run(Application.class, args);
? ? }

}

步驟 7:現(xiàn)在通過(guò)運(yùn)行以下命令啟動(dòng)應(yīng)用程序,

$ ./mvnw spring-boot:run

  • 以下屏幕截圖說(shuō)明 java sprint boot 應(yīng)用程序成功運(yùn)行。

步驟8:導(dǎo)航到http://localhost:8080來(lái)測(cè)試應(yīng)用程序。

項(xiàng)目結(jié)構(gòu)

  • 此時(shí)項(xiàng)目結(jié)構(gòu)應(yīng)該是這樣的,

Docker化我們的應(yīng)用程序

步驟 9:生成 .jar 文件

  • 接下來(lái),讓我們通過(guò)在 IntelliJ 終端中執(zhí)行命令 ./mvnw clean package 來(lái)生成 .jar 文件。此命令將編譯項(xiàng)目、運(yùn)行任何必要的測(cè)試,并將應(yīng)用程序打包到 .jar 文件中。
  • 該過(guò)程完成后,導(dǎo)航到項(xiàng)目目錄中的目標(biāo)文件夾。您將在那里找到生成的 spring-0.0.1-SNAPSHOT.jar 文件。
  • 現(xiàn)在使用 maven builder 創(chuàng)建一個(gè)新的 jar 文件。
$ ./mvnw clean package
  • 上述命令將構(gòu)建我們的 docker 鏡像。下圖表示通過(guò)執(zhí)行上述命令生成 jar 文件。參考第二張圖,構(gòu)建成功并創(chuàng)建了 jar 文件。

  • 以下屏幕截圖說(shuō)明了使用 Maven 構(gòu)建工具成功構(gòu)建 Java 應(yīng)用程序。

步驟 10:創(chuàng)建 Dockerfile

  • 在項(xiàng)目根目錄下運(yùn)行以下命令來(lái)構(gòu)建 Dockerfile。此命令將在當(dāng)前目錄中創(chuàng)建一個(gè)空的Dockerfile 。
  • 創(chuàng)建 Dockerfile 后,您可以按照以下步驟繼續(xù)定義構(gòu)建Docker 映像所需的指令。

$ touch Dockerfile

步驟 11:添加配置以將 Spring Boot 應(yīng)用程序 docker 化

  • 現(xiàn)在我們有一個(gè)可以運(yùn)行的 Spring Boot 應(yīng)用程序,要將應(yīng)用程序 Docker 化,現(xiàn)在將以下內(nèi)容粘貼到 Dockerfile 中:
FROM openjdk:18
WORKDIR /app
COPY ./target/spring-0.0.1-SNAPSHOT.jar /app
EXPOSE 8080
CMD ["java", "-jar", "spring-0.0.1-SNAPSHOT.jar"]

上述文件包含以下信息:

  • FROM openjdk:18–此行指定Docker 容器的基礎(chǔ)鏡像。在本例中,它使用標(biāo)記為版本 18 的官方 OpenJDK 鏡像。此鏡像為 Java 應(yīng)用程序提供運(yùn)行時(shí)環(huán)境。
  • WORKDIR /app此行將容器內(nèi)的工作目錄設(shè)置為/app。所有后續(xù)命令都將相對(duì)于此目錄執(zhí)行。
  • COPY ./target/spring-0.0.1-SNAPSHOT.jar /app此命令將 Spring Boot 應(yīng)用程序 JAR 文件從主機(jī)./target目錄復(fù)制到/app容器內(nèi)的目錄。假設(shè)您已構(gòu)建 Spring Boot 應(yīng)用程序并且 JAR 文件位于指定位置。
  • EXPOSE 8080 -?此行通知 Docker 容器將在運(yùn)行時(shí)監(jiān)聽(tīng)端口 8080。但是,它實(shí)際上并未發(fā)布端口。它只是容器預(yù)期使用哪些端口的文檔。
  • CMD ["java", "-jar", "spring-0.0.1-SNAPSHOT.jar"] -?此命令指定容器啟動(dòng)時(shí)要運(yùn)行的默認(rèn)命令。它通過(guò)java -jar使用 Spring Boot JAR 文件作為參數(shù)執(zhí)行命令來(lái)啟動(dòng) Spring Boot 應(yīng)用程序。

步驟 12:現(xiàn)在使用 docker build 命令創(chuàng)建一個(gè) docker 鏡像:

$ docker build -t [name:tag] .
  • -t:鏡像的名稱和標(biāo)簽
  • . :構(gòu)建過(guò)程的背景

構(gòu)建過(guò)程完成后,您將收到新鏡像的 ID 和標(biāo)簽。

在容器中運(yùn)行 Spring Boot Docker 映像

在容器中運(yùn)行我們的鏡像之前,讓我們確保在嘗試將容器端口映射到本地主機(jī)端口時(shí)避免任何潛在錯(cuò)誤。為此,我們需要在Docker 命令Docker Compose文件中指定正確的端口綁定配置。這可確保容器的端口已公開(kāi)并可從主機(jī)系統(tǒng)訪問(wèn)。

步驟 13:通過(guò)運(yùn)行以下命令創(chuàng)建 Docker 容器:

$ docker run -d -p [host_port]:[container_port] --name [container_name] [image_id/image_tag]

  • -d:運(yùn)行容器并打印容器ID。
  • -p:映射容器的端口
  • –name:為容器指定名稱

步驟 14:通過(guò)運(yùn)行以下命令驗(yàn)證容器是否已成功創(chuàng)建:

$ docker container ps

步驟15:檢查項(xiàng)目

  • 確保項(xiàng)目結(jié)構(gòu)符合標(biāo)準(zhǔn)程序并具有 Spring Boot 應(yīng)用程序所需的所有部分。
  • 此外,確認(rèn)應(yīng)用程序的目錄結(jié)構(gòu)合理且定義明確,并且所有依賴項(xiàng)都配置正確。

步驟 16:檢查申請(qǐng)

  • 打開(kāi) Web 瀏覽器并轉(zhuǎn)到 http://localhost:8080/ 來(lái)檢查該程序。這將顯示計(jì)算機(jī)上正在運(yùn)行的本地 Spring Boot 應(yīng)用程序。

如何更改基礎(chǔ)鏡像

修改 Dockerfile 中的基礎(chǔ)映像是一個(gè)簡(jiǎn)單的過(guò)程,但可能會(huì)對(duì)容器的大小、安全性和功能產(chǎn)生很大影響。請(qǐng)按照以下步驟修改基礎(chǔ)映像:

1. 選擇一個(gè)新的基礎(chǔ)鏡像?在進(jìn)行任何更改之前,進(jìn)行徹底的研究以獲得符合應(yīng)用程序要求的合適的基礎(chǔ)鏡像非常重要。

  • 操作系統(tǒng)、圖片大小、安全功能以及與應(yīng)用程序堆棧的兼容性都是需要考慮的重要因素。
  • 應(yīng)優(yōu)先考慮來(lái)自 Docker Hub 或其他可靠來(lái)源的官方鏡像,以確保可靠性并符合安全最佳實(shí)踐。
  • 通過(guò)仔細(xì)權(quán)衡這些考慮因素,您可以選擇一個(gè)既能優(yōu)化速度又能保證安全性的基礎(chǔ)映像,作為您的容器化應(yīng)用程序的堅(jiān)實(shí)基礎(chǔ)。

2. 更新 Dockerfile:?打開(kāi)文本編輯器并選擇您的 Dockerfile。查找文件開(kāi)頭的指令“FROM”,它表示當(dāng)前基礎(chǔ)映像。

  • 用新鏡像替換現(xiàn)有鏡像,如下面的示例所示。
FROM image:version  #Change the image and version as per your requirement

3. 調(diào)整依賴項(xiàng)和配置:由于新舊基礎(chǔ)鏡像之間的差異,可能需要更新 Dockerfile 中的依賴項(xiàng)、配置或指令。

  • 確保在新的基礎(chǔ)映像上安裝并配置了所有必需的工具、庫(kù)和包。

4.驗(yàn)證您的更改:對(duì) Dockerfile 進(jìn)行更改后,使用“docker build”命令重新創(chuàng)建您的 Docker 映像:

docker build -t [name:tag] .

使用 Docker Compose 工具將 Spring Boot 應(yīng)用程序 Docker 化

Dockerfiles 和 Docker 命令非常適合構(gòu)建單個(gè)容器。如果我們想在應(yīng)用程序的共享網(wǎng)絡(luò)上操作,容器管理就會(huì)變慢。

Docker 提供了一個(gè)名為 Docker Compose 的工具來(lái)解決此問(wèn)題。此實(shí)用程序采用 YAML 中獨(dú)特的構(gòu)建文件格式。多個(gè)服務(wù)的配置可以合并到一個(gè)名為 docker-compose.yml 的文件中。

Docker Compose 文件

以下是 Docker Compose 文件示例,它是用于編排多個(gè)服務(wù)的基本配置。它定義了兩個(gè)服務(wù)“service1”和“service2”,每個(gè)服務(wù)都具有指定的 Docker 鏡像、容器名稱、公開(kāi)端口和環(huán)境變量。我們可以根據(jù)需要修改版本。

版本:'3.8'
?

version: '3.8'services:spring-boot-app:image: openjdk:18container_name: spring-boot-appworking_dir: /appvolumes:- ./target/spring-0.0.1-SNAPSHOT.jar:/app/spring-0.0.1-SNAPSHOT.jarports:- "8080:8080"environment:- SPRING_DATASOURCE_URL=jdbc:mysql://db:3306/mydatabase- SPRING_DATASOURCE_USERNAME=root- SPRING_DATASOURCE_PASSWORD=exampledepends_on:- dbcommand: ["java", "-jar", "spring-0.0.1-SNAPSHOT.jar"]db:image: mysql:8.0container_name: dbenvironment:MYSQL_ROOT_PASSWORD: exampleMYSQL_DATABASE: mydatabaseports:- "3306:3306"volumes:- db_data:/var/lib/mysqlvolumes:db_data:
  • 以下命令用于構(gòu)建docker-compose文件:
$ docker-compose config
  • 為了構(gòu)建映像并創(chuàng)建 Docker 容器,我們可以使用以下命令:

$ docker-compose up --build

  • 要停止容器,我們應(yīng)該將其從 Docker 中刪除。為此,我們可以使用以下命令:

$docker-compose down

擴(kuò)展服務(wù)

Docker Compose 中的擴(kuò)展服務(wù)是指能夠增加或減少 Docker Compose 文件中定義的服務(wù)實(shí)例數(shù)量。這可以通過(guò)調(diào)整服務(wù)的“scale”屬性來(lái)指定要為該服務(wù)運(yùn)行的容器數(shù)量來(lái)實(shí)現(xiàn)。

$ docker-compose --file docker-compose.yml up -d --build --scale service=1 --scale product-server=1

此操作將啟動(dòng)單個(gè)服務(wù)服務(wù)器和單個(gè)產(chǎn)品服務(wù)器。

最后

因此,通過(guò)這種方式,我們可以使用 Maven 插件將鏡像發(fā)布到 Docker 容器。最好不要使用本地環(huán)境將 docker 鏡像上傳到任何注冊(cè)表,使用CI/CD管道或任何工具始終是最佳實(shí)踐。

使用 Maven 將 Spring Boot 應(yīng)用程序 Docker 化 - 常見(jiàn)問(wèn)題解答

如何將 Maven 項(xiàng)目 Docker化?

在項(xiàng)目根目錄中創(chuàng)建一個(gè)Dockerfile,將應(yīng)用程序的 JAR 文件復(fù)制到Docker 鏡像中,并提供在容器內(nèi)啟動(dòng)應(yīng)用程序的命令,以便 Docker 化Maven 項(xiàng)目。

如何使用 Maven 建立 Spring Boot 應(yīng)用程序?

創(chuàng)建一個(gè)新的 Maven 項(xiàng)目,并將必要的依賴項(xiàng)(例如 spring-boot-starter-parent 以及應(yīng)用程序要求特有的任何其他依賴項(xiàng))添加到 pom.xml 文件中,以使用 Maven 設(shè)置 Spring Boot 應(yīng)用程序。接下來(lái),按照推薦的目錄布局為您的 Spring Boot 應(yīng)用程序開(kāi)發(fā)類和資源。

如何將 Spring Boot 微服務(wù) Docker 化?

創(chuàng)建一個(gè)指定基礎(chǔ)鏡像的 Dockerfile,復(fù)制應(yīng)用程序 JAR 文件,公開(kāi)必要的端口,并描述啟動(dòng)應(yīng)用程序的命令,以便將 Spring Boot微服務(wù)docker 化。接下來(lái)創(chuàng)建 Docker 鏡像,并使用它來(lái)啟動(dòng)容器。

如何將我的項(xiàng)目 Docker化?

制作一個(gè) Dockerfile,列出基礎(chǔ)鏡像、所需的庫(kù)以及用于構(gòu)建和執(zhí)行應(yīng)用程序的命令,以便將您的項(xiàng)目 Docker 化。

什么是 Dockerize 命令?

使用 Dockerize 命令可以將應(yīng)用程序打包到Docker 容器中,從而可以輕松地在各種上下文中部署和執(zhí)行。通常,它需要生成 Dockerfile,使用 docker build 生成鏡像,然后使用 docker run 啟動(dòng)容器。

http://aloenet.com.cn/news/43542.html

相關(guān)文章:

  • java做的網(wǎng)站源碼seo發(fā)包技術(shù)教程
  • 05網(wǎng)站網(wǎng)上哪里可以免費(fèi)打廣告
  • 化妝品網(wǎng)站靜態(tài)模板適合中層管理的培訓(xùn)
  • 長(zhǎng)沙做網(wǎng)站微聯(lián)訊點(diǎn)靠譜推廣什么app傭金高
  • 南昌網(wǎng)站建設(shè)制作網(wǎng)絡(luò)推廣接單平臺(tái)
  • 廣州制作網(wǎng)站的公司互聯(lián)網(wǎng)推廣怎么找渠道
  • 國(guó)外html5特效網(wǎng)站深圳seo秘籍
  • 買香港空間上傳美女圖片做網(wǎng)站互聯(lián)網(wǎng)營(yíng)銷師培訓(xùn)
  • 美國(guó)最近的新聞大事北京網(wǎng)站優(yōu)化培訓(xùn)
  • 合肥網(wǎng)站外包怎么做網(wǎng)絡(luò)廣告推廣
  • 網(wǎng)站用什么工具做怎么做產(chǎn)品推廣和宣傳
  • 有什么做服裝的網(wǎng)站嗎岳陽(yáng)網(wǎng)站建設(shè)推廣
  • 做資訊類網(wǎng)站需要特殊資質(zhì)嗎網(wǎng)絡(luò)營(yíng)銷文案策劃
  • 學(xué)手機(jī)網(wǎng)站建設(shè)百度指數(shù)查詢工具app
  • 從網(wǎng)上下載的網(wǎng)站源碼怎么用免費(fèi)企業(yè)建站
  • ps怎么做網(wǎng)站特效愛(ài)站seo工具包官網(wǎng)
  • 做諧和年齡圖的網(wǎng)站地產(chǎn)渠道12種拓客方式
  • 品牌創(chuàng)意型網(wǎng)站開(kāi)發(fā)百度推廣渠道戶
  • 建設(shè)網(wǎng)站存在的問(wèn)題sem對(duì)seo的影響有哪些
  • 做國(guó)外的眾籌網(wǎng)站有哪些今日最新國(guó)內(nèi)新聞重大事件
  • 網(wǎng)站建設(shè)績(jī)效考核方案企業(yè)網(wǎng)站建設(shè)制作
  • 宜昌平臺(tái)網(wǎng)站建設(shè)網(wǎng)絡(luò)顧問(wèn)
  • 網(wǎng)站打開(kāi)速度加快怎么做百度官網(wǎng)認(rèn)證價(jià)格
  • 做兼職的網(wǎng)站都有哪些工作最有吸引力的營(yíng)銷模式
  • 桂林景區(qū)網(wǎng)站建設(shè)策劃方案如何建立獨(dú)立網(wǎng)站
  • 網(wǎng)站接入服務(wù)商查詢長(zhǎng)春網(wǎng)絡(luò)營(yíng)銷公司
  • 大連百度關(guān)鍵詞優(yōu)化張家界百度seo
  • 用vs怎么做網(wǎng)站的導(dǎo)航seo是什么化學(xué)名稱
  • 中國(guó)建設(shè)銀行貴州省分行網(wǎng)站網(wǎng)站優(yōu)化排名
  • 撫順市建設(shè)局網(wǎng)站關(guān)鍵詞優(yōu)化怎么操作