最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Docker實(shí)現(xiàn)發(fā)布一個(gè)springboot項(xiàng)目

 更新時(shí)間:2026年04月23日 15:21:59   作者:Pisces_224  
文章介紹了使用Docker打包SpringBoot項(xiàng)目的過(guò)程,包括基本用法、maven源碼打包法、使用maven插件打包和docker-maven-plugin插件打包,并詳細(xì)講述了每種方法的操作步驟和配置細(xì)節(jié),最后總結(jié)了使用插件打包的優(yōu)勢(shì)

1、新建SpringBootDemo項(xiàng)目并打包

一般情況下,我們通過(guò)執(zhí)行:

maven clean
maven compile
maven package

項(xiàng)目在本地會(huì)產(chǎn)生target目錄,下生成了一個(gè)項(xiàng)目jar包。

拿一個(gè)很簡(jiǎn)單的demo作為例子:

頁(yè)面:

2、使用Dockerfile打包(基礎(chǔ)用法)

在與target同級(jí),也就是項(xiàng)目根目錄下新建一個(gè)文件file命名為: Dockerfile

以下基本參數(shù):

FROM openjdk:8
# 指定可以被宿主機(jī)文件掛載目錄
VOLUME /opt/demo/
# 指定路徑
WORKDIR /opt/demo/
# 添加 springboot-web-demo-0.0.1-SNAPSHOT.jar 包到workdir 以 web.jar保存
ADD ["springboot-web-demo-0.0.1-SNAPSHOT.jar", "web.jar"]
EXPOSE 8090
ENTRYPOINT ["java", "-jar", "/web.jar"]

然后使用遠(yuǎn)程工具(我用的Xftp7),將jar包和Dockerfile文件拖到Linux服務(wù)器新建的目錄下:

命令行進(jìn)入該目錄下執(zhí)行鏡像制作:

docker build -t web:test .  # 鏡像名:tag   當(dāng)下目錄

查看鏡像:

docker images

然后啟動(dòng)運(yùn)行:

docker run -d -p 8090:8090 --name test web

映射端口到外界;

容器命名為test,鏡像為生成的web

瀏覽器訪問(wèn):

失敗。

(我項(xiàng)目端口是8080,暴露8090,不對(duì)應(yīng)) 

這里注意端口的映射問(wèn)題!

  • 項(xiàng)目application.yml 中端口 要和 EXPOSE 端口保持一致;
  • 啟動(dòng)容器時(shí) -p 宿主機(jī)端口 : 容器端口,宿主機(jī)端口可以任意指定,容器端口即EXPOSE的端口。

否則容器可以正常啟動(dòng),但是端口未暴露,訪問(wèn)時(shí)仍然訪問(wèn)項(xiàng)目自己的端口(在linux下,外界訪問(wèn)不到)

重新修改dockerfile并打包鏡像運(yùn)行后:

curl  ip:port

瀏覽器訪問(wèn):

總結(jié):

1、本地maven 打包 + 創(chuàng)建Dockerfile文件2、上傳到服務(wù)器下Docker環(huán)境3、制作鏡像4、運(yùn)行

可以看出,貌似并沒(méi)有為我們的項(xiàng)目部署帶來(lái)什么便利??jī)H僅這樣,無(wú)法體現(xiàn)docker的優(yōu)勢(shì)。

進(jìn)一步maven源碼打包法

在Linux docker環(huán)境下,可以安裝好git、maven,利用:

  • ① git拉取倉(cāng)庫(kù)代碼;
  • ② mvn打包命令就可以去掉步驟一、二;
  • ③ 制作鏡像
  • ④ run運(yùn)行容器

但是仍然不夠簡(jiǎn)單。

如果環(huán)境中沒(méi)有安裝maven,請(qǐng)手動(dòng)安裝,腳本如下:

sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# yum-config-manager --add-repo http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo
# yum-config-manager --enable epel-apache-maven
// 安裝maven
# yum install -y apache-maven

1、上傳原碼到docker環(huán)境中(一般是git/svn直接拉取源碼)

2、maven打包

mvn clean package

生成的jar在同級(jí)target目錄下

3、執(zhí)行docker命令生成鏡像

dockerfile文件內(nèi)容

命令創(chuàng)建鏡像

3、更進(jìn)一步(maven插件打包)

即適用于生產(chǎn)環(huán)境下,IDEA代碼開發(fā)完畢,利用docker-maven插件直接一行命令編譯打包生成鏡像并推送到Docker主機(jī)環(huán)境下。

之后只需要Docker下運(yùn)行 run命令即可運(yùn)行項(xiàng)目。

docker-maven-plugin

里面集成了Docker客戶端,通過(guò)docker的api接口發(fā)送docker命令。

spring-boot-maven-plugin

這個(gè)是Spring Boot官方的插件,在2.x的某個(gè)版本(2.3.x)提供了Docker鏡像構(gòu)建能力。

下面,演示一個(gè)maven插件:docker-maven-plugin用法,來(lái)實(shí)現(xiàn)。

前提條件

1、需要我們windows上安裝docker服務(wù)

2、需要docker服務(wù)配置http倉(cāng)庫(kù)接口,windows上docker服務(wù)配置如下(傳統(tǒng)配置模式無(wú)權(quán)限修改文件)

本地環(huán)境配置

1、windows上安裝docker-toolbox,傻瓜安裝即可。

2、打開Docker Quickstart Terminal終端,等待初始始化完成后。

3、輸入docker-machine env命令,返回docker服務(wù)的api接口和證書位置,如下:

4、輸入docker-machine ssh命令,進(jìn)入sh環(huán)境中,配置http倉(cāng)庫(kù)路徑:

修改文件配置(當(dāng)前用戶是docker不是root,要sudo提升至root):

sudo vi /var/lib/boot2docker/profile

5、修改完成,保存。重啟docker服務(wù)

sudo /etc/init.d/docker restart

項(xiàng)目環(huán)境配置maven插件

在我們的工程pom中加入docker-maven-plugin插件的配置,如下:

1、其中,imageName配置鏡像的全路徑名,即指定私庫(kù)的名稱

2、dockerHost和dockerCertPath對(duì)應(yīng)配置上一步中docker的api和證書值

打包運(yùn)行

以idea為例,整個(gè)項(xiàng)目裝配完成,只需要操作maven的一二三步驟,即直接鏡像進(jìn)入倉(cāng)庫(kù),整個(gè)過(guò)程極為便利。

還可以省去多次點(diǎn)擊,直接一句mvn命令完成打包上傳:

mvn clean package docker:build -DpushImage

校驗(yàn)鏡像倉(cāng)庫(kù)結(jié)果

至此,我們的服務(wù)器環(huán)境,已經(jīng)可以直接運(yùn)行docker run 鏡像啟動(dòng)容器了。

4、總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Dockerfile中將多行配置、腳本寫入文件的4種實(shí)用方法

    Dockerfile中將多行配置、腳本寫入文件的4種實(shí)用方法

    本文總結(jié)了Dockerfile中將多行配置、腳本寫入文件的4種實(shí)用寫法,重點(diǎn)介紹了在舊版Docker不支持heredoc語(yǔ)法的問(wèn)題,并基于實(shí)測(cè)提供了可直接復(fù)制的穩(wěn)定示例,需要的朋友可以參考下
    2026-04-04
  • Docker中搭建配置Git環(huán)境的過(guò)程

    Docker中搭建配置Git環(huán)境的過(guò)程

    工作中遇到了需要在Docker環(huán)境中操作GitLab倉(cāng)庫(kù)的場(chǎng)景,需要事先在Docker中搭好Git環(huán)境,但是很多朋友不是很清楚Docker配置Git環(huán)境的過(guò)程,今天通過(guò)本文給大家詳細(xì)介紹下,需要的朋友參考下吧
    2021-08-08
  • 詳解java項(xiàng)目打包docker鏡像的幾種方式

    詳解java項(xiàng)目打包docker鏡像的幾種方式

    本文主要介紹了詳解java項(xiàng)目打包docker鏡像的幾種方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • 云原生使用Docker部署Firefox瀏覽器詳細(xì)圖文教程

    云原生使用Docker部署Firefox瀏覽器詳細(xì)圖文教程

    下面這篇文章主要給大家介紹了關(guān)于云原生使用Docker部署Firefox瀏覽器的相關(guān)資料,這對(duì)于一些特殊的測(cè)試場(chǎng)景非常有用,例如需要在不同版本的瀏覽器中進(jìn)行測(cè)試,需要的朋友可以參考下
    2024-04-04
  • 定時(shí)清理docker私服鏡像的方法

    定時(shí)清理docker私服鏡像的方法

    這篇文章主要介紹了定時(shí)清理docker私服鏡像的方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-08-08
  • docker基礎(chǔ)知識(shí)之掛載本地目錄的方法

    docker基礎(chǔ)知識(shí)之掛載本地目錄的方法

    本篇文章主要介紹了docker基礎(chǔ)知識(shí)之掛載本地目錄的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-04-04
  • 使用Docker安裝部署MySQL和Redis的詳細(xì)過(guò)程

    使用Docker安裝部署MySQL和Redis的詳細(xì)過(guò)程

    這篇文章主要介紹了使用Docker安裝部署MySQL和Redis,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-06-06
  • Docker配置文件docker-compose.yml使用指南

    Docker配置文件docker-compose.yml使用指南

    本文主要介紹了Docker配置文件docker-compose.yml使用指南,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • Docker應(yīng)用之daemon.json使用詳解

    Docker應(yīng)用之daemon.json使用詳解

    用戶解決Docker部署Spring Boot時(shí)JDK8依賴下載失敗問(wèn)題,發(fā)現(xiàn)默認(rèn)無(wú)daemon.json配置文件,手動(dòng)創(chuàng)建并設(shè)置國(guó)內(nèi)鏡像源地址(如阿里云),重啟Docker服務(wù)后成功,需注意配置文件路徑為/etc/docker/daemon.json
    2025-09-09
  • Docker 鏡像和容器的區(qū)別詳解

    Docker 鏡像和容器的區(qū)別詳解

    這篇文章主要介紹了Docker 鏡像和容器的區(qū)別詳解的相關(guān)資料,需要的朋友可以參考下
    2016-10-10

最新評(píng)論

福安市| 铜陵市| 泸定县| 获嘉县| 延长县| 含山县| 文昌市| 当雄县| 施秉县| 华池县| 三门县| 略阳县| 孟村| 分宜县| 渝中区| 龙里县| 綦江县| 江安县| 莆田市| 泊头市| 谷城县| 徐汇区| 乐山市| 汤阴县| 安新县| 澄江县| 西贡区| 磐安县| 古交市| 河池市| 临洮县| 元氏县| 南阳市| 横峰县| 新兴县| 仁化县| 台北市| 镇原县| 青海省| 尼玛县| 阿克苏市|