docker如何實作打包?
Docker相關術語:
(1).映像、容器、倉庫
Docker的特徵:
(1) .關鍵字:貨櫃、標準、隔離。
Docker的部署實務:
1.建立dockerfile
注意我提到的假設:你的jar包或war包都已經打包成功,而且docker安裝成功。
dockerfile 的內容如下:
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中
#container中ADD:將文件cbce1a3cf2f839037583dce8e845670b拷貝到container的檔案系統對應的路徑6be58d1426a577c69ada50a4bc87dd69 RUN:RUN命令將在目前image中執行任意合法命令並提交執行結果。命令執行提交後,就會自動執行Dockerfile中的下一個指令 ENTRYPOINT:container啟動時執行的命令,但是一個Dockerfile中只能有一條ENTRYPOINT命令,如果多條,則只執行最後一條 重點:dockerfile 與jar套件或war套件的位置 注意:新建立的 Dockerfile 檔案需要和 jar 的在一個資料夾下。
2.Jar包的生成
大家看到上圖中的.jar 的包可能會有困惑,這個包是怎麼生成的呢?下面我們就來看看這個包是如何產生的。 由於我是透過maven的方式來建構專案的,所以也是透過maven的方式來的build的,當然前提依然是你的環境中安裝了 maven,具體操作我們來看看截圖。 經過上面的操作後,就build 好了 jar包。3.產生映像
shell 指令說明:重點是你要 cd 到存放Dockerfile 和 jar包或war包所在的資料夾下面。 指令:
sudo docker build -t springbootdemo .
4.啟動容器
# 容器其實也相當與鏡像的載體。 容器的啟動指令截圖:## 啟動指令:sudo docker run -d -p 8080:8080 springbootdemo
##C意義我也忘卻了,大家可以查。 8080:8080是一個連接埠的映射,它的具體邏輯和原理,我建議大家學習Docker中仔細看看,springbootdemo 就是我上面提到的鏡像檔。
查看目前運作中的容器:sudo docker ps
##5.驗證
驗證環節就可看看我們的 Demo是否部署成功了,如果你的jar包或war包跟我以一樣,是web程式的話,就可以透過瀏覽器來測試。 相關推薦:docker教學
### #######以上是docker如何實現打包的詳細內容。更多資訊請關注PHP中文網其他相關文章!