springboot中的dockerfile使用
環(huán)境
MAC
Centos7
JDK8
SpringBoot
Dockerfile
一、創(chuàng)建springboot項(xiàng)目
上面是springboot的項(xiàng)目結(jié)構(gòu)。
選擇Initalizr Service URL
- 創(chuàng)建springboot項(xiàng)目的時候,選擇https://start.aliyun.com,速度比默認(rèn)的快好幾倍。
- https://start.spring.io/
- https://start.aliyun.com
二、創(chuàng)建Dockerfile文件
Dockerfile內(nè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ù)者名稱 MAINTAINER Mirror 393015989@qq.com
三、Springboot用maven打包
用maven install命令打包
會在target目錄下生成jar包
遇到的坑
java -jar 命令啟動項(xiàng)目的時候,提示找不到主文件
解決辦法
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)建成功了。可以用docker images命令查看
五、創(chuàng)建Docker容器并啟動
執(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的容器,并啟動
六、檢驗(yàn)結(jié)果
在瀏覽器中輸入localhost
成功,我通過主機(jī)的80端口,訪問六容器里面的8080端口。
七、總結(jié)
lhl-docker-java8:1.0,這個鏡像是我上篇文章做的基礎(chǔ)Java環(huán)境鏡像
在制作的過程中,遇到了springboot找不到主文件的問題,查看了網(wǎng)上那么多資料,只想說一句,寫文章不是拷貝別人,要自己實(shí)踐一下,通過了沒問題了,在發(fā)表。
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
- 從0到1構(gòu)建springboot web應(yīng)用鏡像并使用容器部署的過程
- dockerfile發(fā)布springboot項(xiàng)目實(shí)踐
- dockerfile的使用及使用dockerfile部署springboot項(xiàng)目的過程
- springboot運(yùn)行到dokcer中 dockerfile的場景分析
- 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ì)的圖文介紹及代碼示例,對正在學(xué)習(xí)使用idea的小伙伴很有幫助,需要的朋友可以參考下2021-05-05Maven統(tǒng)一版本管理的實(shí)現(xiàn)
在使用Maven多模塊結(jié)構(gòu)工程時,配置版本是一個比較頭疼的事,本文主要介紹了Maven統(tǒng)一版本管理的實(shí)現(xiàn),具有一定的參考價值,感興趣的可以了解一下2024-03-03Hadoop源碼分析四遠(yuǎn)程debug調(diào)試
本篇是Hadoop源碼分析系列文章第四篇,主要介紹一下Hadoop的遠(yuǎn)程debug調(diào)試步驟,后續(xù)本系列文章會持續(xù)更新,有需要的朋友可以借鑒參考下2021-09-09SpringBoot整合Elasticsearch實(shí)現(xiàn)索引和文檔的操作方法
Elasticsearch 基于 Apache Lucene 構(gòu)建,采用 Java 編寫,并使用 Lucene 構(gòu)建索引、提供搜索功能,本文分步驟通過綜合案例給大家分享SpringBoot整合Elasticsearch的相關(guān)知識,感興趣的朋友跟隨小編一起看看吧2021-05-05