使用docker在linux環(huán)境中部署springboot包的教程
因為springboot是內(nèi)嵌了tomcat服務(wù)器的,所以打成jar包后,是可以直接運行的。
首先我們看一下,在windows環(huán)境下的打包部署
1. 進(jìn)行install打包
2. 檢查,在target目錄中是否存在了項目jar包
3.如果已經(jīng)存在了項目jar包,就可以直接運行了(前面說了,springboot包是可以直接運行的)
4.在dos命令框中使用java -jar指令
java -jar springboot-nriat-common-demo-0.0.1-SNAPSHOT.jar
啟動效果:
沒有報錯,啟動成功!
上面說的是windows系統(tǒng)上的springboot發(fā)包部署,下面進(jìn)入正題。
使用docker在linux系統(tǒng)中進(jìn)行發(fā)包部署。
1. 首先需要準(zhǔn)備一個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 8087ENTRYPOINT ['java','-Djava.security.egd=file:/dev/./urandom','-jar','/app.jar']
文件解析
解釋下這個配置文件:
VOLUME 指定了臨時文件目錄為/tmp。其效果是在主機(jī) /var/lib/docker 目錄下創(chuàng)建了一個臨時文件,并鏈接到容器的/tmp。該步驟是可選的,如果涉及到文件系統(tǒng)的應(yīng)用就很有必要了。/tmp目錄用來持久化到 Docker 數(shù)據(jù)文件夾,因為 Spring Boot 使用的內(nèi)嵌 Tomcat 容器默認(rèn)使用/tmp作為工作目錄項目的 jar 文件作為 “app.jar” 添加到容器的ENTRYPOINT 執(zhí)行項目 app.jar。為了縮短 Tomcat 啟動時間,添加一個系統(tǒng)屬性指向 “/dev/./urandom” 作為 Entropy Source
如果是第一次打包,它會自動下載java 8的鏡像作為基礎(chǔ)鏡像,以后再制作鏡像的時候就不會再下載了。
2. 將dockerfile文件與springboot項目的jar包放在同一個文件夾中
3. 然后開始制作鏡像
docker build -t springboot-docker .
使用docker images查看鏡像是否已經(jīng)生成
docker images
5.配置springboot項目,啟動容器
docker run -d -p 8087:8087 8493c1f0592c
-d參數(shù)是讓容器后臺運行-p 是做端口映射,此時將服務(wù)器中的8080端口映射到容器中的8087(項目中端口配置的是8087)端口使用images鏡像的IMAGE ID
6. 最后使用docker ps -a,查看一下是否已經(jīng)啟動。
docker ps -a
啟動成功!!
到此這篇關(guān)于使用docker在linux環(huán)境中部署springboot包的文章就介紹到這了,更多相關(guān)docker部署springboot包內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
