docker中部署springboot項目,並且外部訪問


1、docker安裝好之后,先下載幾個常用鏡像,比如java,docker pull java:8,因為運行項目需要用到java環境,先把java鏡像下載下來,方便以此為基礎構建新的鏡像。

2、准備springboot的jar包。這個其實是基本操作,在eclipse里新建一個spring boot項目,在其pom.xml文件目錄下執行cmd命令

mvn clean install -Dmaven.test.skip

  便打好了jar包,在target目錄下可以找到jar包,名為demo.jar

3、准備dockerfile文件,注意此文件沒有后綴,編輯內容,在里面加上

FROM         java:8
workdir /app
add /demo.jar ./demo.jar
env LOGPATH=/app/log/demo.log \ PROT=8080 cmd java -jar /app/demo.jar

  簡單解釋下dockerfile里面的內容, from 是指以一個基礎鏡像為基礎,這里以一個基礎鏡像java8為基礎。workdir 是工作目錄。add 是指把這個demo.jar添加到容器里面  第一個demo.jar是宿主機里面准備好的jar,第二個demo.jar是cp到docker里面的jar包。cmd命令是,是指打好了鏡像之后,運行這個jar包啟動項目。

4、在linux目錄下新建文件夾,存放這些文件,我新建的文件夾叫做my,這里叫啥都行

mkdir my

進入文件夾

cd my

把demo.jar和dockerfile拷貝到my里面去(拷貝方法可以用xshell里的xftp)

5、在這個目錄下執行命令,我起名字叫做mydocker,這個可以隨便起名字。這個是構建鏡像的命令,注意后面有個點,代表在此目錄下。

docker build -t mydocker .

6、運行docker

docker run -d -p 4567:8080 mydocker

注意端口號順序,4567是指在doucker暴露在外部的端口,8080是指docker里面的項目的端口

7、訪問 192.168.124.16:4567/get就可以了。

192.168.124.16是我的虛擬機的ip,4567是端口號,get是我的項目里面定義的一個接口名稱

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM