使用docker在linux環(huán)境中部署springboot包的教程
因?yàn)閟pringboot是內(nèi)嵌了tomcat服務(wù)器的,所以打成jar包后,是可以直接運(yùn)行的。
首先我們看一下,在windows環(huán)境下的打包部署
1. 進(jìn)行install打包
2. 檢查,在target目錄中是否存在了項(xiàng)目jar包
3.如果已經(jīng)存在了項(xiàng)目jar包,就可以直接運(yùn)行了(前面說(shuō)了,springboot包是可以直接運(yùn)行的)
4.在dos命令框中使用java -jar
指令
java -jar springboot-nriat-common-demo-0.0.1-SNAPSHOT.jar
啟動(dòng)效果:
沒(méi)有報(bào)錯(cuò),啟動(dòng)成功!
上面說(shuō)的是windows系統(tǒng)上的springboot發(fā)包部署,下面進(jìn)入正題。
使用docker在linux系統(tǒng)中進(jìn)行發(fā)包部署。
1. 首先需要準(zhǔn)備一個(gè)dockerfile的文件,文件內(nèi)容如下:
# 指定基礎(chǔ)鏡像 FROM java:8 # 維護(hù)者信息 MAINTAINER lbl # 定義匿名卷 VOLUME /tmp #復(fù)制文件或修改名稱 ADD springboot-nriat-common-demo-0.0.1-SNAPSHOT.jar app.jar # 允許指定的端口 EXPOSE 8087 ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
文件解析
解釋下這個(gè)配置文件:
VOLUME 指定了臨時(shí)文件目錄為/tmp。其效果是在主機(jī) /var/lib/docker 目錄下創(chuàng)建了一個(gè)臨時(shí)文件,并鏈接到容器的/tmp。該步驟是可選的,如果涉及到文件系統(tǒng)的應(yīng)用就很有必要了。/tmp目錄用來(lái)持久化到 Docker 數(shù)據(jù)文件夾,因?yàn)?Spring Boot 使用的內(nèi)嵌 Tomcat 容器默認(rèn)使用/tmp作為工作目錄
項(xiàng)目的 jar 文件作為 “app.jar” 添加到容器的
ENTRYPOINT 執(zhí)行項(xiàng)目 app.jar。為了縮短 Tomcat 啟動(dòng)時(shí)間,添加一個(gè)系統(tǒng)屬性指向 “/dev/./urandom” 作為 Entropy Source
如果是第一次打包,它會(huì)自動(dòng)下載java 8的鏡像作為基礎(chǔ)鏡像,以后再制作鏡像的時(shí)候就不會(huì)再下載了。
2. 將dockerfile文件與springboot項(xiàng)目的jar包放在同一個(gè)文件夾中
3. 然后開(kāi)始制作鏡像
docker build -t springboot-docker .
使用docker images
查看鏡像是否已經(jīng)生成
docker images
5.配置springboot項(xiàng)目,啟動(dòng)容器
docker run -d -p 8087:8087 8493c1f0592c
-d參數(shù)是讓容器后臺(tái)運(yùn)行
-p 是做端口映射,此時(shí)將服務(wù)器中的8080端口映射到容器中的8087(項(xiàng)目中端口配置的是8087)端口
使用images鏡像的IMAGE ID
6. 最后使用docker ps -a
,查看一下是否已經(jīng)啟動(dòng)。
docker ps -a
啟動(dòng)成功?。?/p>
到此這篇關(guān)于使用docker在linux環(huán)境中部署springboot包的文章就介紹到這了,更多相關(guān)docker部署springboot包內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- springboot多模塊多環(huán)境配置文件問(wèn)題(動(dòng)態(tài)配置生產(chǎn)和開(kāi)發(fā)環(huán)境)
- IntelliJ IDEA基于SpringBoot如何搭建SSM開(kāi)發(fā)環(huán)境的步驟詳解
- SpringBoot環(huán)境配置知識(shí)總結(jié)
- centos環(huán)境下使用tomcat 部署SpringBoot的war包
- springboot yml中profiles的巧妙用法(小白必看多環(huán)境配置)
- SpringBoot+docker環(huán)境變量配置詳解
- 搭建 springboot selenium 網(wǎng)頁(yè)文件轉(zhuǎn)圖片環(huán)境的詳細(xì)教程
- springboot 多環(huán)境切換的方法
- SpringBoot環(huán)境搭建及第一個(gè)程序運(yùn)行(小白教程)
- Matplotlib可視化之自定義顏色繪制精美統(tǒng)計(jì)圖
相關(guān)文章
dockerfile中ENTRYPOINT與CMD的結(jié)合使用及區(qū)別
這篇文章主要介紹了dockerfile中ENTRYPOINT與CMD的結(jié)合使用,大家都知道CMD 與 ENTRYPOINT都是用于指定啟動(dòng)容器執(zhí)行的命令,那么他們倆有什么區(qū)別呢,本文給大家詳細(xì)介紹,需要的朋友可以參考下2021-08-08Docker配置本地倉(cāng)庫(kù)web訪問(wèn)的實(shí)現(xiàn)
本文主要介紹了Docker配置本地倉(cāng)庫(kù)web訪問(wèn)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-06-06docker 安裝nacos并配置數(shù)據(jù)庫(kù)的教程詳解
這篇文章主要介紹了docker 安裝nacos并配置數(shù)據(jù)庫(kù)的教程詳解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12Docker打包SpringBoot鏡像的實(shí)現(xiàn)方式
docker打包springboot鏡像,并不是簡(jiǎn)單的將springboot項(xiàng)目的jar包上傳容器里,然后啟動(dòng),這個(gè)操作很簡(jiǎn)單,但是如果我每次要查看容器中的日志就需要每次都進(jìn)入容器內(nèi)部進(jìn)行查看,這就非常麻煩了,所以本文介紹了Docker打包SpringBoot鏡像的實(shí)現(xiàn)方式,需要的朋友可以參考下2024-03-03Docker私有倉(cāng)庫(kù)Registry部署的實(shí)現(xiàn)
這篇文章主要介紹了Docker私有倉(cāng)庫(kù)Registry部署的實(shí)現(xiàn),私有倉(cāng)庫(kù)最常用的就是Registry、Harbor兩種,本文詳細(xì)介紹如何搭建registry私有倉(cāng)庫(kù),感興趣的可以了解一下2020-06-06docker 容器上編譯 go 程序提示找不到文件問(wèn)題
這篇文章主要介紹了docker 容器上編譯 go 程序無(wú)法運(yùn)行提示找不到文件問(wèn)題,解決方法也很簡(jiǎn)單,感興趣的朋友跟隨腳本之家小編一起看看吧2018-05-05使用dockerfile構(gòu)建nginx鏡像的方法示例
這篇文章主要介紹了使用dockerfile構(gòu)建nginx鏡像的方法示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-09-09詳解在Docker容器中運(yùn)行Spring Boot應(yīng)用
本文將以一個(gè)最簡(jiǎn)單的Spring Boot開(kāi)發(fā)的Web應(yīng)用為例,講解如何將其容器化運(yùn)行。本文的重點(diǎn)是構(gòu)建Docker鏡像、運(yùn)行Docker容器。2017-06-06