使用Docker打包部署SpringBoot應用

這個小教程記錄怎麼在Docker打包、運行自己的SpringBoot應用,基本思路是在自己的程序目錄配置自定義的Dockerfile文件,然後利用Docker自帶的打包鏡像的命令生成本地鏡像即可使用。

第零步:

準備Docker運行環境,安裝Docker吼吼。

第一步:

在Linux虛擬機上準備Java運行環境,我使用了Java8;

第二步:

將你的SpringBoot程序打包成jar包,可以使用IDEA自帶的Maven小工具直接打包成jar包。該jar包內嵌了Tomcat,所以只要操作系統有Java運行環境,直接命令行執行類似“java -jar XXX.jar”就可以運行該jar包程序了。

第三步:

準備SpringBoot應用的jar包和程序文件夾,其中目錄:yanru_springboot/eureka相當於程序文件夾 ,文件目錄如圖,如圖我使用了Xftp小工具,本機連接到了我的Linux虛擬機(我學Linux用的虛擬機,本機Windows操作系統),使用Xftp在Windows中操作虛擬機上的文件。

第四步:

配置Dockerfile文件內容,如下截圖是我看的老師的課程視頻截圖,注意Dockerfile文件不需要帶文件後綴:

具體Dockerfile文本文字:

# based on whitch image application for keyword "From", then "java:8" means java version 8

From java:8

# put current file into cucrrent container, not necessary

VOLUME /tmp

# copy file to container, attention please, "yanru-springboot.jar“ is the real application name in your folder

ADD yanru-springboot.jar /app.jar

# use whitch port to visit, in my web application, I use 8080 to visit

EXPOSE 8080

# excute whitch command when container started, this command means start my application with java command

ENTRYPOINT ["java", "-jar", "/app.jar"]

第五步:

使用docker build命令構建鏡像,注意最後的小點‘.’執行該行命令前,切換到/eureka目錄內部,因爲這個“.”表示Dockerfile的路徑目錄,如果直接切換到Dockerfile所在目錄直接填"."就可以了。其中yanru_spring_boot表示生成鏡像的名稱,0.0.1表示鏡像的版本號標籤,”:“後的版本號標籤不是必須的,我從鏡像倉庫查看的有些鏡像也是版本號爲空的。

注意,鏡像的名稱不允許出現大寫字母否則會報錯的,打包鏡像的命令:

# docker build -t yanru_spring_boot:0.0.1 .  

# 格式:docker build -t鏡像名稱:標籤Dockerfie的相對位置

在這裏,使用-t選項指定了鏡像的標籤,執行該命令後,終竦將會輸出如下的內容:

最後輸出成功,表示成功生成一個鏡像。

第六步:

使用docker images 查看當前所有的鏡像,確保鏡像存在,鏡像如果真的存在,下一步就可以啓動容器了

第七步:

運行容器以啓動一個鏡像,命令如題,啓動容器後順手執行下docker ps以確認你的容器正在運行:

其中8080是鏡像內部的程序原本使用的端口,8762是宿主機訪問端口,我故意區分了一下。

第八步:

測試容器運行效果,訪問應用程序:

我的測試小程序是一個Web小應用。其中前面的IP是我的虛擬機內網地址,http://192.168.26.132:8762/index.html

運行效果,嘿嘿,這是我做的一個簡單的計算器小程序哈哈。(* ̄︶ ̄)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章