這個小教程記錄怎麼在Docker打包、運行自己的SpringBoot應用,基本思路是在自己的程序目錄配置自定義的Dockerfile文件,然後利用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文件不需要帶文件後綴:
# based on whitch image application for keyword "From", then "java:8" means java version 8
# put current file into cucrrent container, not necessary
# 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
# 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