springboot項目在docker中運行

前端時間須要把項目打包到docker中運行,因而就讓組員去探索,最後整個過程是這樣的。前端

首先咱們作java開發,通常都是使用springboot開發,開發完成,咱們須要把springboot項目打包成jar包。此時咱們jar包就能在服務器上使用 java -jar xxxx.jar 運行項目了,可是在docker中,須要把jar包在打包成鏡像。java

個人開發環境是windows,而後是雙系統,我在任意一個文件夾,shift+鼠標右鍵就能調出linux界面linux

 

 

 

首先咱們須要編寫一個Dockerfile文件 ,把它和springboot打包好的jar包,放到同一個文件夾下面。若是你用linux系統,就把jar包和Dockerfile文件上傳到linux系統下,只要保證是在同一個目錄下面便可。spring

Dockerfile內容以下:docker

FROM registry.otrs365.cn/servicecool/jdk:8u241    #基礎鏡像,當前新鏡像是基於那個鏡像, 像這裏就是基於java 8環境
ADD diantong-IP-4.0.0-SNAPSHOT.jar diantong-IP.jar  #diantong-IP-4.0.0SNAPSHOT.jar爲你SpringBoot打包最終的成包名稱,別名爲diantong-IP.jar
EXPOSE 9081   # 這個是你項目的要暴露的端口,你項目的端口是什麼這裏就寫什麼
ENTRYPOINT ["java","-jar","/diantong-IP.jar"]     #這句話至關於 java -jar diantongIP.jar

linux系統下,FROM 後面指向你docker中安裝的jdk的鏡像windows

 

注意,Dockerfile是沒有後綴的。springboot

 

 

 

 

 

接下來就是構建鏡像了服務器

在存放Dockerfile和項目jar的目錄下,執行如下的命令(注意後面有一個 . 不能少)ui

docker build -t diantong-ip .

這裏有一個坑,就是你jar包的名稱不能有大寫的,有大寫你在運行上面命令時也要把大寫改爲小寫
等待運行完成,執行成功後docker中就多了個鏡像了。執行下面命令查看你的鏡像:
spa

 

docker images

 

啓動容器

-p這個屬性我這邊詳細說一下:9081:9081的意思是將我宿主機的9081端口映射到容器端口9081,我在前
面已經配置過這個端口了

 

docker run -d -p 9081:9081 diantong-ip

 

啓動成功,使用

docker ps

就能看到容器了,至此,一個springboot應用就成功放到docker中運行了。

若是須要把這個應用給你的朋友,那隻須要

docker save -o diantongip.tar diantong-ip:latest

就會獲得一格diantongip.tar壓縮包,把這個壓縮包發給你的朋友

使用如下命令,就能導進他的docker裏面了

 

 

注:此文章寫於2021/08/11   若時間過長,文章內容步驟稍有誤差。

相關文章
相關標籤/搜索