因為springboot是內嵌了tomcat服務器的,所以打成jar包后,是可以直接運行的,
首先我們看一下,在windows環境下的打包部署
1. 進行install打包
2. 檢查,在target目錄中是否存在了專案jar包

3.如果已經存在了專案jar包,就可以直接運行了(前面說了,springboot包是可以直接運行的)

4.在dos命令框中使用java -jar指令
java -jar springboot-nriat-common-demo-0.0.1-SNAPSHOT.jar

啟動效果:


沒有報錯,啟動成功!
上面說的是windows系統上的springboot發包部署,下面進入正題,
使用docker在linux系統中進行發包部署,
1. 首先需要準備一個dockerfile的檔案,檔案內容如下:
# 指定基礎鏡像
FROM java:8
# 維護者資訊
MAINTAINER lbl
# 定義匿名卷
VOLUME /tmp
#復制檔案或修改名稱
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"]
檔案決議

解釋下這個組態檔:
VOLUME 指定了臨時檔案目錄為/tmp,其效果是在主機 /var/lib/docker 目錄下創建了一個臨時檔案,并鏈接到容器的/tmp,該步驟是可選的,如果涉及到檔案系統的應用就很有必要了,/tmp目錄用來持久化到 Docker 資料檔案夾,因為 Spring Boot 使用的內嵌 Tomcat 容器默認使用/tmp作為作業目錄
專案的 jar 檔案作為 “app.jar” 添加到容器的
ENTRYPOINT 執行專案 app.jar,為了縮短 Tomcat 啟動時間,添加一個系統屬性指向 “/dev/./urandom” 作為 Entropy Source
如果是第一次打包,它會自動下載java 8的鏡像作為基礎鏡像,以后再制作鏡像的時候就不會再下載了,
2. 將dockerfile檔案與springboot專案的jar包放在同一個檔案夾中

3. 然后開始制作鏡像
docker build -t springbootdemo4docker .
使用docker images查看鏡像是否已經生成
docker images
?

5.配置springboot專案,啟動容器
[root@localhost docker]# docker run -d -p 8087:8087 8493c1f0592c
-d引數是讓容器后臺運行
-p 是做埠映射,此時將服務器中的8080埠映射到容器中的8087(專案中埠配置的是8087)埠
使用images鏡像的IMAGE ID
6. 最后使用docker ps -a,查看一下是否已經啟動,
docker ps -a

啟動成功!!
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/254101.html
標籤:其他
