docker如何實現(xiàn)打包

 docker如何實現(xiàn)打包

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:將文件拷貝到container的文件系統(tǒng)對應(yīng)的路徑

   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教程??

以上就是

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點贊5 分享