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

SpringBoot構(gòu)建Docker鏡像的實(shí)現(xiàn)步驟

 更新時(shí)間:2026年05月07日 08:26:05   作者:Hadoop_Liang  
本文主要介紹了SpringBoot構(gòu)建Docker鏡像的實(shí)現(xiàn)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

1.前提條件

  • Windows下安裝好JDK 8+、Maven 3.6+、IDEA
  • Linux下安裝好Docker

2.新建Spring Boot項(xiàng)目

修改初始化Spring Boot項(xiàng)目URL:打開(kāi)IDEA,點(diǎn)擊File-->New Project,點(diǎn)擊Spring Initializr,點(diǎn)擊設(shè)置圖標(biāo),填寫(xiě)Server URL地址為https://start.aliyun.com/

點(diǎn)擊OK

填寫(xiě)工程名稱(Name),例如demo,選擇在合適位置(Location)創(chuàng)建工程,語(yǔ)言(Language)選Java,類(lèi)型(Type)選Maven,這里以JDK8為例,Java選擇8(若使用高版本JDK就選中對(duì)應(yīng)的高版本JDK),打包(Packaging)選擇Jar,點(diǎn)擊Next

Spring Boot版本選擇2.7.6,點(diǎn)擊Web,勾選Spring Web,點(diǎn)擊Create創(chuàng)建Spring Boot項(xiàng)目

查看啟動(dòng)類(lèi)DemoApplication.java

點(diǎn)擊如下三角形,運(yùn)行Spring Boot項(xiàng)目

選擇Run 'DemoApplication'

瀏覽器訪問(wèn)localhost:8080/html

看到的頁(yè)面內(nèi)容是阿里云初始化Spring Boot項(xiàng)目時(shí)提供的初始模板代碼,感興趣也可以添加自己編寫(xiě)的代碼,并測(cè)試通過(guò)

停止運(yùn)行程序

3.打jar包

點(diǎn)擊右側(cè)的Maven打開(kāi)Maven面板,點(diǎn)開(kāi)項(xiàng)目名稱的Lifecycle,按住Ctrl鍵不放,同時(shí)選中clean和package,點(diǎn)擊圖示三角形圖標(biāo)打包項(xiàng)目

看到BUILD SUCCESS字樣輸出,說(shuō)明打jar包成功。根據(jù)日志提示可以看到j(luò)ar在工程目錄的target目錄下

在target目錄下看到j(luò)ar文件demo-0.0.1-SNAPSHOT.jar,說(shuō)明打包成功

4.編寫(xiě)Dockerfile

在項(xiàng)目根目錄新建Dockerfile文件

填寫(xiě)文件名稱為Dockerfile

注意:文件名必須為Dockerfile

Dockerfile內(nèi)容如下:

# JDK8作為基礎(chǔ)鏡像
# FROM openjdk:8
FROM registry.cn-hangzhou.aliyuncs.com/my-common-images/openjdk:8
# 作者
MAINTAINER example
# 復(fù)制jar
COPY demo-0.0.1-SNAPSHOT.jar app.jar
# 啟動(dòng)命令
ENTRYPOINT ["java","-jar","/app.jar"]

效果如下

5.上傳Dockerfile和jar包到Docker所在的Linux機(jī)器

Linux創(chuàng)建demo目錄

[root@localhost ~]# mkdir demo

分別上傳Dockerfile和demo-0.0.1-SNAPSHOT.jar到Linux demo目錄下,上傳成功后可查看到文件如下:

[root@localhost ~]# cd demo
[root@localhost demo]# ls
Dockerfile  demo-0.0.1-SNAPSHOT.jar

6.構(gòu)建Docker鏡像

執(zhí)行docker build命令構(gòu)建鏡像

docker build -t spring-boot-jdk8-demo:1.0 .

操作過(guò)程如下

[root@localhost demo]# docker build -t spring-boot-jdk8-demo:1.0 .
[+] Building 0.0s (7/7) FINISHED                                   docker:default
 => [internal] load build definition from Dockerfile                         0.0s
 => => transferring dockerfile: 292B                                         0.0s
 => WARN: MaintainerDeprecated: Maintainer instruction is deprecated in fav  0.0s
 => [internal] load metadata for registry.cn-hangzhou.aliyuncs.com/my-commo  0.0s
 => [internal] load .dockerignore                                            0.0s
 => => transferring context: 2B                                              0.0s
 => CACHED [1/2] FROM registry.cn-hangzhou.aliyuncs.com/my-common-images/op  0.0s
 => [internal] load build context                                            0.0s
 => => transferring context: 6.05kB                                          0.0s
 => [2/2] COPY demo-0.0.1-SNAPSHOT.jar app.jar                               0.0s
 => exporting to image                                                       0.0s
 => => exporting layers                                                      0.0s
 => => writing image sha256:db084d7b5dbee75438b823914f7ea8bfafd0a942c610adc  0.0s
 => => naming to docker.io/library/spring-boot-jdk8-demo:1.0                 0.0s
?
 1 warning found (use docker --debug to expand):
 - MaintainerDeprecated: Maintainer instruction is deprecated in favor of using label (line 6)
[root@localhost demo]#

查看鏡像

[root@localhost demo]# docker images | grep spring-boot
spring-boot-jdk8-demo                                        1.0           db084d7b5dbe   About a minute ago   526MB

7.運(yùn)行容器

docker run -d -p 8080:8080 --name spring-boot-jdk8 spring-boot-jdk8-demo:1.0

8.測(cè)試訪問(wèn)及排錯(cuò)

瀏覽器訪問(wèn)

Linux ip:8080/html

發(fā)現(xiàn)訪問(wèn)不到內(nèi)容

排錯(cuò):發(fā)現(xiàn)容器沒(méi)有起來(lái)

[root@localhost demo]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
[root@localhost demo]# docker ps -a
CONTAINER ID   IMAGE                       COMMAND                  CREATED              STATUS                          PORTS     NAMES
2640f7e02e57   spring-boot-jdk8-demo:1.0   "java -jar /app.jar"     About a minute ago   Exited (1) About a minute ago             spring-boot-jdk8

查看容器日志:發(fā)現(xiàn)no main manifest attribute, in /app.jar問(wèn)題

[root@localhost demo]# docker logs spring-boot-jdk8
no main manifest attribute, in /app.jar

原因是pom.xml中mainClass主類(lèi)配置被skip為true忽略了

解決

刪除mainClass下方的skip一行

<skip>true</skip>

修改pom.xml后,效果如下

刷新maven項(xiàng)目

重新打jar包

重新上傳jar包到Linux demo目錄

刪除原來(lái)的容器

[root@localhost ~]# docker rm spring-boot-jdk8

刪除原來(lái)的鏡像

[root@localhost demo]# docker rmi -f spring-boot-jdk8-demo:1.0

重新構(gòu)建鏡像

[root@localhost demo]# docker build -t spring-boot-jdk8-demo:1.0 .

重新運(yùn)行容器

[root@localhost demo]# docker run -d -p 8080:8080 --name spring-boot-jdk8 spring-boot-jdk8-demo:1.0

瀏覽器訪問(wèn)

Linux ip:8080/html

到此這篇關(guān)于SpringBoot構(gòu)建Docker鏡像的實(shí)現(xiàn)步驟的文章就介紹到這了,更多相關(guān)SpringBoot構(gòu)建Docker鏡像內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Windows Zookeeper安裝過(guò)程及啟動(dòng)圖解

    Windows Zookeeper安裝過(guò)程及啟動(dòng)圖解

    這篇文章主要介紹了Windows Zookeeper安裝過(guò)程及啟動(dòng)圖解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-12-12
  • 鴻蒙與Java跨平臺(tái)Socket通信實(shí)戰(zhàn)代碼實(shí)例

    鴻蒙與Java跨平臺(tái)Socket通信實(shí)戰(zhàn)代碼實(shí)例

    Socket是網(wǎng)絡(luò)編程的基礎(chǔ),提供了進(jìn)程間通信的通用接口,下面這篇文章主要介紹了鴻蒙與Java跨平臺(tái)Socket通信實(shí)戰(zhàn)的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2026-03-03
  • JAVA中值類(lèi)型和引用類(lèi)型的區(qū)別

    JAVA中值類(lèi)型和引用類(lèi)型的區(qū)別

    在java開(kāi)發(fā)中經(jīng)常會(huì)遇到值類(lèi)型和引用類(lèi)型知識(shí),但是有很多朋友不清楚java中值類(lèi)型和引用類(lèi)型的區(qū)別,今天小編通過(guò)本文給大家介紹下
    2017-02-02
  • Java中初始化List集合的八種方式匯總

    Java中初始化List集合的八種方式匯總

    List?是?Java?開(kāi)發(fā)中經(jīng)常會(huì)使用的集合,下面這篇文章主要給大家介紹了關(guān)于Java中初始化List集合的八種方式,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-06-06
  • Java集合List的方法及遍歷方式舉例

    Java集合List的方法及遍歷方式舉例

    這篇文章主要介紹了Java集合List的方法及遍歷方式的相關(guān)資料,List?是Java集合框架中的一種接口,繼承自Collection接口,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-05-05
  • MybatisPlus?自定義插件實(shí)現(xiàn)攔截SQL修改功能(實(shí)例詳解)

    MybatisPlus?自定義插件實(shí)現(xiàn)攔截SQL修改功能(實(shí)例詳解)

    這篇文章主要介紹了MybatisPlus?自定義插件實(shí)現(xiàn)攔截SQL修改功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2023-11-11
  • Java注解簡(jiǎn)介和使用詳細(xì)講解

    Java注解簡(jiǎn)介和使用詳細(xì)講解

    Java 語(yǔ)言中的類(lèi)、構(gòu)造器、方法、成員變量、參數(shù)等都可以被注解進(jìn)行標(biāo)注,這篇文章主要介紹了Java注解的介紹和使用詳細(xì)講解,需要的朋友可以參考下
    2023-02-02
  • SpringMVC中Controller層獲取前端請(qǐng)求參數(shù)的方式匯總

    SpringMVC中Controller層獲取前端請(qǐng)求參數(shù)的方式匯總

    這篇文章主要介紹了SpringMVC中Controller層獲取前端請(qǐng)求參數(shù)的幾種方式,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-08-08
  • Springboot配置管理Externalized?Configuration深入探究

    Springboot配置管理Externalized?Configuration深入探究

    這篇文章主要介紹了Springboot配置管Externalized?Configuration深入探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01
  • SpringBoot使用Nacos配置中心的實(shí)現(xiàn)

    SpringBoot使用Nacos配置中心的實(shí)現(xiàn)

    這篇文章主要介紹了SpringBoot使用Nacos配置中心的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12

最新評(píng)論

江津市| 安顺市| 宜君县| 皮山县| 万源市| 陇西县| 确山县| 中山市| 潼南县| 乐昌市| 醴陵市| 随州市| 望奎县| 综艺| 阿拉善右旗| 黄石市| 苍山县| 溧阳市| 汾西县| 富蕴县| 昆明市| 阿城市| 类乌齐县| 大同市| 温宿县| 高青县| 皮山县| 徐汇区| 绥宁县| 普定县| 孝义市| 通化市| 宾阳县| 乌鲁木齐县| 天镇县| 光山县| 凤山县| 永寿县| 宁晋县| 阿城市| 泗洪县|