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

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

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

docker相關(guān)術(shù)語:  (1).鏡像、容器、倉(cāng)庫(kù)  Docker的特點(diǎn):  (1).關(guān)鍵字:集裝箱、標(biāo)準(zhǔn)、隔離。

? Docker的部署實(shí)踐:

  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:基于哪個(gè)鏡像

   VOLUME:可以將本地文件夾或者其他container的文件夾掛載到container中

   ? ?ADD:將文件拷貝到container的文件系統(tǒng)對(duì)應(yīng)的路徑

   RUN:RUN命令將在當(dāng)前image中執(zhí)行任意合法命令并提交執(zhí)行結(jié)果。命令執(zhí)行提交后,就會(huì)自動(dòng)執(zhí)行Dockerfile中的下一個(gè)指令

   ENTRYPOINT:container啟動(dòng)時(shí)執(zhí)行的命令,但是一個(gè)Dockerfile中只能有一條ENTRYPOINT命令,如果多條,則只執(zhí)行最后一條

   重點(diǎn):dockerfile 和 jar包或者war包的位置

   注意:新創(chuàng)建的 ?Dockerfile 文件需要和 ?jar 的在一個(gè)文件夾下。

   ?2.Jar包的生成

   ?大家看到上圖中的.jar 的包可能會(huì)有困惑,這個(gè)包是怎么生成的呢?下面我們來看看這個(gè)包是如何生成的。

   ?由于我是通過maven的方式來構(gòu)建項(xiàng)目的,所以也是通過maven的方式來的build的,當(dāng)然前提依然是你的環(huán)境中安裝了 maven,具體操作我們來看看截圖。

   ?經(jīng)過上面的操作后,就build 好了 jar包。

   ?3.生成鏡像

   ? shell 命令說明:重點(diǎn)是你要 cd 到存放Dockerfile 和 jar包或者war包所在的文件夾下面。

   ? 命令:sudo docker build -t springbootdemo .

   注意:命令后面的 ?. ? ?要帶上 。

   -t參數(shù)的含義我記不清了,你可以通過 sudo docker build –help 來查看相關(guān)函數(shù)的解釋。 ?springbootdemo是build的鏡像名稱。

   以上操作完成了Docker 鏡像的創(chuàng)建。檢驗(yàn)鏡像是否創(chuàng)建成功,命令: sudo docker images ? ,可以看到springbootdemo就是剛才創(chuàng)建的鏡像。

   ?4.啟動(dòng)容器

   ?容器其實(shí)也相當(dāng)與鏡像的載體。

   ?容器的啟動(dòng)命令截圖:

   ?啟動(dòng)命令:sudo docker run -d -p 8080:8080 springbootdemo

   ?-d -p 的參數(shù)含義我也忘卻了,大家可以查查。 ? 8080:8080是一個(gè)端口的映射,它的具體邏輯和原理,我建議大家學(xué)習(xí)Docker中仔細(xì)看看,springbootdemo 就是我上面提到的鏡像文件。

   ?查看當(dāng)前運(yùn)行中的容器:sudo docker ps

  ??5.驗(yàn)證

   ?驗(yàn)證環(huán)節(jié)就可看看我們的 ?Demo是否部署成功了,如果你的jar包或者war包跟我以一樣,是web程序的話,就可以通過瀏覽器來測(cè)試。

  ? ? 相關(guān)推薦:docker教程??

以上就是

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