Docker構(gòu)建Jar鏡像的方法實現(xiàn)
一、創(chuàng)建 docker 目錄
/usr/local/docker
二、將項目打包上傳到目錄
# Jar 包 /usr/local/docker/app.jar # 配置文件 /usr/local/docker/config/application.yml
三、在目錄下創(chuàng)建 Dockerfile 文件
FROM openjdk:8-jre # 將 jar 包添加到容器中 , tar 類型文件會自動解壓(網(wǎng)絡壓縮資源不會被解壓) , 可以訪問網(wǎng)絡資源 , 類似 wget ADD app.jar /usr/local/app.jar # 功能和 ADD 相同 , 不會自動解壓文件 , 也不能訪問網(wǎng)絡資源 # COPY ./config/ /usr/local/config # 配置環(huán)境變量 # ENV JAVA_HOME=/usr/local/java/jdk-8 # ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar # ENV PATH=$JAVA_HOME/bin:$PATH # 切換工作目錄 , 相當于 cd WORKDIR /usr/local # 映射端口 EXPOSE 80 # ENTRYPOINT 或 CMD 只會執(zhí)行一次 , 會覆蓋之前的 ENTRYPOINT 或 CMD 命令 ENTRYPOINT ["java" , "-jar" , "app.jar"]
四、構(gòu)建鏡像
docker build -t app:1.0 .
五、創(chuàng)建并啟動容器
docker run --name app -p 80:80 -v ./config/:/usr/local/config -d app:1.0
六、ENTRYPOINT 和 CMD 區(qū)別
需求:想追加一個命令 -l
, 期望執(zhí)行 ls -al
1. CMD
docker run 會覆蓋 CMD 后面的命令
FROM centos CMD ["ls","-a"]
此時命令在 docker 啟動后自己執(zhí)行, 我們可以在命令行啟動 docker 鏡像時, 執(zhí)行其他命令行參數(shù), 覆蓋默認的 CMD
$ docker run demo -l 此時會報錯 , '-l' 替換了 'ls -a' 命令 , 沒有這個命令導致報錯
2. ENTRYPOINT
docker run 不會覆蓋 entrypoint 后面的命令,需要使用 --entrypoint
命令覆蓋
$ docker run --entrypoint demo -l 此時會報錯 , '-l' 替換了 'ls -a' 命令 , 沒有這個命令導致報錯 $ docker run demo -l 成功執(zhí)行命令 'ls -al'
到此這篇關(guān)于Docker構(gòu)建Jar鏡像的方法實現(xiàn)的文章就介紹到這了,更多相關(guān)Docker構(gòu)建Jar鏡像內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
docker部署nodejs開發(fā)環(huán)境詳細步驟(基礎(chǔ)示例篇)
這篇文章主要給大家介紹了docker部署nodejs開發(fā)環(huán)境詳細步驟,docker是一個開源的應用容器引擎,可以為我們提供安全、可移植、可重復的自動化部署的方式,需要的朋友可以參考下2023-10-10淺談Docker-compose中的depends_on順序的問題解決
本文主要介紹了淺談Docker-compose中的depends_on順序的問題解決,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-11-11docker打包鏡像后EasyExcel報錯,dockerfile缺少字體的解決
解決Docker打包鏡像后EasyExcel報錯的問題:1. Dockerfile增加字體配置;2. 使用EasyExcel的write時添加"inMemory"參數(shù)為true,開啟內(nèi)存處理模式(不推薦,1W數(shù)據(jù)以內(nèi)可以考慮)2025-02-02Ubuntu 搭建基于Docker的LNMP+Redis的開發(fā)環(huán)境(圖文)
這篇文章主要介紹了Ubuntu 搭建基于Docker的LNMP+Redis的開發(fā)環(huán)境的相關(guān)資料,這里詳細介紹如何搭建的步驟,并附圖文,需要的朋友可以參考下2016-12-12CentOS服務器部署Docker+Jenkins持續(xù)集成環(huán)境的方法
本文詳細介紹在CentOS服務器上部署Docker和Jenkins持續(xù)集成環(huán)境的步驟,涵蓋了準備工作、安裝Docker、配置Docker鏡像加速、安裝Jenkins、配置Jenkins以及集成Docker與Jenkins,通過這些步驟,讀者可以實現(xiàn)代碼的持續(xù)集成與快速部署,提高軟件開發(fā)效率,感興趣的朋友一起看看吧2025-02-02