欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

如何打jar包為Docker鏡像并部署

 更新時(shí)間:2023年11月08日 11:45:02   作者:JAVA倒霉熊  
這篇文章主要介紹了打jar包為Docker鏡像并部署,通過將應(yīng)用程序打包為Docker鏡像,并在容器中運(yùn)行,可以提供更高的靈活性、可移植性和可靠性,簡(jiǎn)化應(yīng)用程序的部署和管理,提升開發(fā)和運(yùn)維效率,降低系統(tǒng)運(yùn)行成本,需要的朋友可以參考下

* 解決打包和部署應(yīng)用程序的痛點(diǎn):

將Java應(yīng)用程序打包為可移植的Docker鏡像,并通過容器化方式實(shí)現(xiàn)應(yīng)用程序的部署和運(yùn)行。這種方法可以解決以下痛點(diǎn):

  • 環(huán)境一致性問題:在不同的環(huán)境中運(yùn)行應(yīng)用程序可能會(huì)遇到依賴環(huán)境配置不一致的問題,導(dǎo)致應(yīng)用程序無(wú)法正常運(yùn)行。使用Docker鏡像可以將應(yīng)用程序與其依賴的運(yùn)行時(shí)環(huán)境打包在一起,確保在任何環(huán)境中都能以相同的方式運(yùn)行。
  • 依賴管理困難:應(yīng)用程序的依賴關(guān)系可能復(fù)雜且難以管理,不同的應(yīng)用程序可能需要不同版本的依賴庫(kù)。將應(yīng)用程序打包為Docker鏡像可以將所有依賴項(xiàng)一起打包,避免了在不同環(huán)境中手動(dòng)配置和管理依賴的麻煩。
  • 部署和升級(jí)復(fù)雜性:傳統(tǒng)的應(yīng)用程序部署和升級(jí)可能涉及手動(dòng)復(fù)制文件、配置環(huán)境、啟動(dòng)服務(wù)等繁瑣步驟,容易出錯(cuò)且耗時(shí)。使用Docker鏡像可以簡(jiǎn)化部署和升級(jí)過程,只需通過運(yùn)行容器即可完成應(yīng)用程序的啟動(dòng)和更新,大大減少了部署的復(fù)雜性和風(fēng)險(xiǎn)。
  • 資源利用和擴(kuò)展性:傳統(tǒng)部署方式可能會(huì)面臨資源浪費(fèi)和擴(kuò)展性不足的問題,例如每個(gè)應(yīng)用程序都需要獨(dú)立的服務(wù)器資源。而使用Docker容器化可以更好地利用服務(wù)器資源,多個(gè)容器可以在同一臺(tái)物理機(jī)上運(yùn)行,實(shí)現(xiàn)資源共享和擴(kuò)展。

通過將應(yīng)用程序打包為Docker鏡像,并在容器中運(yùn)行,可以提供更高的靈活性、可移植性和可靠性,簡(jiǎn)化應(yīng)用程序的部署和管理,提升開發(fā)和運(yùn)維效率,降低系統(tǒng)運(yùn)行成本。*

解決打包配置版本問題:

在最大的父項(xiàng)目pom文件下規(guī)定一個(gè)

spring-boot-maven-plugin.version版本(降級(jí),高版本不需要)

<spring-boot-maven-plugin.version>2.4.3</spring-boot-maven-plugin.version>

在全局內(nèi)的需要打包的項(xiàng)目?jī)?nèi)的pom文件下寫此打包配置依賴:

    <build>
        <finalName>${project.artifactId}</finalName>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>${spring-boot-maven-plugin.version}</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

打包部署鏡像運(yùn)行容器

clean+package打jar包

復(fù)制此jar包到 服務(wù)器 某個(gè)目錄下

在項(xiàng)目根目錄下,創(chuàng)建Dockerfile的文本文件,并將以下內(nèi)容添加到文件中:

內(nèi)容:

# 基礎(chǔ)鏡像
FROM  openjdk:8-jre
# author(可更換)
MAINTAINER luo
# 掛載目錄(可更換)
VOLUME /home/luo
# 創(chuàng)建目錄(可更換和上面保持一致)
RUN mkdir -p /home/luo
# 指定路徑(可更換和上面保持一致)
WORKDIR /home/luo
# 復(fù)制jar文件到路徑(YouName=換成你的=jar包名稱)
COPY ./jar/YouName.jar /home/luo/YouName.jar
#下面也也可增加復(fù)制配置文件到同級(jí)路徑下
# 啟動(dòng)認(rèn)證服務(wù)
ENTRYPOINT ["java","-jar","YouName.jar"]

把Dockerfile腳本也移動(dòng)到j(luò)ar包的服務(wù)器目錄下:

把jar包打包成鏡像運(yùn)行成容器

1.在項(xiàng)目根目錄下執(zhí)行以下命令,將jar包打包成docker鏡像:

your-jar-file.jar是你要打包的jar包的文件名。

docker build -t your-image-name .

如果要給此鏡像一個(gè)版本號(hào)那就用這個(gè)語(yǔ)句:

其中,“your-image-name”是鏡像名稱,“1.0”是版本號(hào),“.”表示Dockerfile文件在當(dāng)前目錄中。

docker build -t your-image-name:1.0 .

2.執(zhí)行以下命令把鏡像啟動(dòng)容器:

其中,-p參數(shù)用于指定容器內(nèi)部端口映射到主機(jī)的端口,8080:8080表示將容器內(nèi)部的8080端口映射到主機(jī)的8080端口上。-d參數(shù)用于指定容器在后臺(tái)運(yùn)行。

docker run -d -p 8080:8080 your-image-name

第一個(gè)端口號(hào)是主機(jī)(本地)端口號(hào),后面的端口號(hào)是服務(wù)器內(nèi)部端口號(hào)

3.最后:

訪問http://localhost:8080即可訪問應(yīng)用程序。

解決問題

1.Docker部署鏡像時(shí),報(bào)jdk下載失敗的問題:

有圖如例:

解決:

1.直接在Docker公共鏡像倉(cāng)庫(kù)拉取所需要的jdk(注意:版本要一致!!)

docker pull openjdk:8-jre

2.如果還下載不下來(lái)就使用此方案:

http://www.dbjr.com.cn/server/304213uch.htm

到此這篇關(guān)于如何打jar包為Docker鏡像并部署的文章就介紹到這了,更多相關(guān)Docker鏡像部署內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解Docker在哪里保存日志文件

    詳解Docker在哪里保存日志文件

    本文主要介紹了Docker在哪里保存日志文件,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • docker國(guó)內(nèi)鏡像源配置及走代理設(shè)置小結(jié)

    docker國(guó)內(nèi)鏡像源配置及走代理設(shè)置小結(jié)

    本文主要介紹了配置Docker國(guó)內(nèi)鏡像源及代理設(shè)置,以加快鏡像拉取速度,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-01-01
  • Docker安裝Kong API Gateway并使用的詳細(xì)教程

    Docker安裝Kong API Gateway并使用的詳細(xì)教程

    這篇文章主要介紹了Docker安裝Kong API Gateway并使用,本文通過圖文實(shí)例相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-08-08
  • docker完整配置nginx+php+mysql的方法步驟

    docker完整配置nginx+php+mysql的方法步驟

    這篇文章主要介紹了docker完整配置nginx+php+mysql的方法步驟,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧
    2019-02-02
  • Mac安裝docker全過程(輕松解決安裝)

    Mac安裝docker全過程(輕松解決安裝)

    Docker是一種容器化技術(shù),通過鏡像、容器和倉(cāng)庫(kù)三個(gè)基本概念實(shí)現(xiàn)應(yīng)用的封裝和自動(dòng)化部署,它類似于集裝箱,能夠?qū)?yīng)用與環(huán)境封裝起來(lái),簡(jiǎn)化部署過程,在Mac上安裝Docker需要先安裝Homebrew,然后通過命令行安裝Docker
    2024-11-11
  • docker之docker-machine用法詳解

    docker之docker-machine用法詳解

    這篇文章主要介紹了docker之docker-machine用法詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • MinIO存儲(chǔ)在docker中安裝及其使用方式

    MinIO存儲(chǔ)在docker中安裝及其使用方式

    這篇文章主要介紹了MinIO存儲(chǔ)在docker中安裝及其使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • Logshark調(diào)試Logstash及Filebeat?pipelines使用詳解

    Logshark調(diào)試Logstash及Filebeat?pipelines使用詳解

    這篇文章主要為大家介紹了Logshark調(diào)試Logstash及Filebeat?pipelines使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12
  • docker如何在外部指定參數(shù)變量

    docker如何在外部指定參數(shù)變量

    這篇文章主要介紹了docker如何在外部指定參數(shù)變量,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10
  • docker安裝prometheus和grafana的詳細(xì)過程

    docker安裝prometheus和grafana的詳細(xì)過程

    prometheus通過各種Exporter采集到監(jiān)控?cái)?shù)據(jù),然后存儲(chǔ)進(jìn)prometheus中,以供查詢展示,這篇文章主要介紹了docker安裝prometheus和grafana,需要的朋友可以參考下
    2023-02-02

最新評(píng)論