docker如何實現(xiàn)打包?
docker相關(guān)術(shù)語: (1).鏡像、容器、倉庫 Docker的特點: (1).關(guān)鍵字:集裝箱、標(biāo)準(zhǔn)、隔離。
? Docker的部署實踐:
1.創(chuàng)建dockerfile
注意我提到的假設(shè):你的jar包或者war包都已經(jīng)打包成功,并且docker安裝成功。
dockerfile 的內(nèi)容如下:
FROM?azul/zulu-openjdk:8 VOLUME?/home/work/springDemo ADD?springDemo-0.0.1-SNAPSHOT.jar?app.jar RUN?bash?-c?'touch?/app.jar' ENTRYPOINT?["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
FROM:基于哪個鏡像
VOLUME:可以將本地文件夾或者其他container的文件夾掛載到container中
? ?ADD:將文件
RUN:RUN命令將在當(dāng)前image中執(zhí)行任意合法命令并提交執(zhí)行結(jié)果。命令執(zhí)行提交后,就會自動執(zhí)行Dockerfile中的下一個指令
ENTRYPOINT:container啟動時執(zhí)行的命令,但是一個Dockerfile中只能有一條ENTRYPOINT命令,如果多條,則只執(zhí)行最后一條
重點:dockerfile 和 jar包或者war包的位置
注意:新創(chuàng)建的 ?Dockerfile 文件需要和 ?jar 的在一個文件夾下。
?2.Jar包的生成
?大家看到上圖中的.jar 的包可能會有困惑,這個包是怎么生成的呢?下面我們來看看這個包是如何生成的。
?由于我是通過maven的方式來構(gòu)建項目的,所以也是通過maven的方式來的build的,當(dāng)然前提依然是你的環(huán)境中安裝了 maven,具體操作我們來看看截圖。
?經(jīng)過上面的操作后,就build 好了 jar包。
?3.生成鏡像
? shell 命令說明:重點是你要 cd 到存放Dockerfile 和 jar包或者war包所在的文件夾下面。
? 命令:sudo docker build -t springbootdemo .
注意:命令后面的 ?. ? ?要帶上 。
-t參數(shù)的含義我記不清了,你可以通過 sudo docker build –help 來查看相關(guān)函數(shù)的解釋。 ?springbootdemo是build的鏡像名稱。
以上操作完成了Docker 鏡像的創(chuàng)建。檢驗鏡像是否創(chuàng)建成功,命令: sudo docker images ? ,可以看到springbootdemo就是剛才創(chuàng)建的鏡像。
?4.啟動容器
?容器其實也相當(dāng)與鏡像的載體。
?容器的啟動命令截圖:
?啟動命令:sudo docker run -d -p 8080:8080 springbootdemo
?-d -p 的參數(shù)含義我也忘卻了,大家可以查查。 ? 8080:8080是一個端口的映射,它的具體邏輯和原理,我建議大家學(xué)習(xí)Docker中仔細看看,springbootdemo 就是我上面提到的鏡像文件。
?查看當(dāng)前運行中的容器:sudo docker ps
??5.驗證
?驗證環(huán)節(jié)就可看看我們的 ?Demo是否部署成功了,如果你的jar包或者war包跟我以一樣,是web程序的話,就可以通過瀏覽器來測試。
? ? 相關(guān)推薦:docker教程??