springboot中的dockerfile使用
環(huán)境
MACCentos7JDK8SpringBootDockerfile
一、創(chuàng)建springboot項(xiàng)目

上面是springboot的項(xiàng)目結(jié)構(gòu)。
選擇Initalizr Service URL
- 創(chuàng)建springboot項(xiàng)目的時(shí)候,選擇https://start.aliyun.com,速度比默認(rèn)的快好幾倍。
- https://start.spring.io/
- https://start.aliyun.com

二、創(chuàng)建Dockerfile文件

Dockerfile內(nèi)容如下:
# 該鏡像需要依賴(lài)的基礎(chǔ)鏡像 FROM lhl-docker-java8:1.0 # 將targer目錄下的jar包復(fù)制到docker容器/home/springboot目錄下面目錄下面 ADD ./target/springboot-dockerfile-0.0.1-SNAPSHOT.jar /home/springboot/springboot-dockerfile.jar # 聲明服務(wù)運(yùn)行在8080端口 EXPOSE 8080 # 執(zhí)行命令 CMD ["java","-jar","/home/springboot/springboot-dockerfile.jar"] # 指定維護(hù)者名稱(chēng) MAINTAINER Mirror 393015989@qq.com
三、Springboot用maven打包

用maven install命令打包
會(huì)在target目錄下生成jar包
遇到的坑
java -jar 命令啟動(dòng)項(xiàng)目的時(shí)候,提示找不到主文件
解決辦法
pom.xml中添加如下配置,如果pom.xml中已經(jīng)有了,就覆蓋一下
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
四、制作Docker鏡像

在IDEA的Terminal中,執(zhí)行如下命令:
docker build -t lhl-springboot-docker:1.0 .

出現(xiàn)如上圖結(jié)果,表示鏡像創(chuàng)建成功了??梢杂胐ocker images命令查看

五、創(chuàng)建Docker容器并啟動(dòng)
執(zhí)行如下命令:
docker run -dp 80:8080 --name lhl-springboot-env lhl-springboot-docker:1.1
用我們剛才創(chuàng)建的鏡像,創(chuàng)建名字叫l(wèi)hl-springboot-env的容器,并啟動(dòng)

六、檢驗(yàn)結(jié)果
在瀏覽器中輸入localhost

成功,我通過(guò)主機(jī)的80端口,訪(fǎng)問(wèn)六容器里面的8080端口。
七、總結(jié)
lhl-docker-java8:1.0,這個(gè)鏡像是我上篇文章做的基礎(chǔ)Java環(huán)境鏡像
在制作的過(guò)程中,遇到了springboot找不到主文件的問(wèn)題,查看了網(wǎng)上那么多資料,只想說(shuō)一句,寫(xiě)文章不是拷貝別人,要自己實(shí)踐一下,通過(guò)了沒(méi)問(wèn)題了,在發(fā)表。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- 從0到1構(gòu)建springboot web應(yīng)用鏡像并使用容器部署的過(guò)程
- dockerfile發(fā)布springboot項(xiàng)目實(shí)踐
- dockerfile的使用及使用dockerfile部署springboot項(xiàng)目的過(guò)程
- springboot運(yùn)行到dokcer中 dockerfile的場(chǎng)景分析
- IDEA 配合 Dockerfile 部署 SpringBoot 工程的注意事項(xiàng)
- 利用Dockerfile部署SpringBoot項(xiàng)目的方法
- 使用Maven和遠(yuǎn)程Docker基于Dockerfile構(gòu)建SpringBoot應(yīng)用鏡像
相關(guān)文章
教你使用idea搭建ssm詳細(xì)教程(Spring+Spring Mvc+Mybatis)
今天教大家使用idea搭建ssm詳細(xì)教程(Spring+Spring Mvc+Mybatis),文中有非常詳細(xì)的圖文介紹及代碼示例,對(duì)正在學(xué)習(xí)使用idea的小伙伴很有幫助,需要的朋友可以參考下2021-05-05
Maven統(tǒng)一版本管理的實(shí)現(xiàn)
在使用Maven多模塊結(jié)構(gòu)工程時(shí),配置版本是一個(gè)比較頭疼的事,本文主要介紹了Maven統(tǒng)一版本管理的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2024-03-03
Hadoop源碼分析四遠(yuǎn)程debug調(diào)試
本篇是Hadoop源碼分析系列文章第四篇,主要介紹一下Hadoop的遠(yuǎn)程debug調(diào)試步驟,后續(xù)本系列文章會(huì)持續(xù)更新,有需要的朋友可以借鑒參考下2021-09-09
SpringBoot整合Elasticsearch實(shí)現(xiàn)索引和文檔的操作方法
Elasticsearch 基于 Apache Lucene 構(gòu)建,采用 Java 編寫(xiě),并使用 Lucene 構(gòu)建索引、提供搜索功能,本文分步驟通過(guò)綜合案例給大家分享SpringBoot整合Elasticsearch的相關(guān)知識(shí),感興趣的朋友跟隨小編一起看看吧2021-05-05
java 中線(xiàn)程等待與通知的實(shí)現(xiàn)
這篇文章主要介紹了java 中線(xiàn)程等待與通知的實(shí)現(xiàn)的相關(guān)資料,希望通過(guò)本文能幫助到大家,讓大家掌握這樣的功能,需要的朋友可以參考下2017-09-09
Java協(xié)議字節(jié)操作工具類(lèi)詳情
這篇文章主要介紹了Java協(xié)議字節(jié)操作工具類(lèi)詳情,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-09-09

