Docker如何將jar包裝為Image并運行
參考資料:
參考課程:https://ke.gupaoedu.cn/play/288/5/37604?phaseId=6
準備材料:
1. 可運行且可訪問的jar包
@Controller
public class DockerController {
@PostMapping("helloWorld")
public ResponseEntity<String> helloWorld(){
System.out.println("=====>helloWorld<=====");
return new ResponseEntity<>("helloWorld",HttpStatus.OK);
}
}
2. Docker環(huán)境

原理介紹
基于docker文件的分層(layer)概念
DockerFile可以通過程序,將很多層變成一個image

DockerFile 有自己的語法,可以參考docker-library中的文件,結(jié)合AI幫助來寫
將Jar包打包為Image:
1. 執(zhí)行如下命令,將項目打包成jar包
mvn clean package

2. 創(chuàng)建文件夾并上傳文件
在linux服務器創(chuàng)建文件夾,并將打包好的jar包上傳至文件夾中,比如 docker_helloWorld
mkdir docker_helloWorld


3. 創(chuàng)建dockerfile 編輯
使用命令,在文件夾中,創(chuàng)建Dockerfile,并編輯
vi Dockerfile
然后將下面內(nèi)容粘貼進去(具體內(nèi)容可以用AI進行解釋)
FROM openjdk:8 MAINTAINER peter2026 LABEL name="dockerfile-demo" version="1.0" author="peter2026" COPY docker-hello-world-0.0.1-SNAPSHOT.jar dockerfile-image.jar CMD ["java","-jar","dockerfile-image.jar"]
4. 構(gòu)建鏡像
如果使用默認的dockerHub來獲取openJDK的話,可能需要做一些代理或者加速服務,參考B站
如果還是不行的話,可以先把from語句的鏡像拉取到本地,然后再構(gòu)建
docker pull cf-workers-docker-io-6es.pages.dev/openjdk:8u102-jdk
執(zhí)行如下語句進行構(gòu)建(注意后面的一點,表示當前目錄)
docker build -t my-docker-image .

然后執(zhí)行docker images 就可以看到構(gòu)建好的鏡像

5. 運行鏡像
將構(gòu)建好的鏡像運行,執(zhí)行下面命令
docker run -d --name my_container_01 -p 6666:8080 my-docker-image
上面是將container的8080端口映射到了Linux虛擬機的6666端口
執(zhí)行下面命令查看運行的容器
docker ps

6. 訪問運行的jar包
查看docker所在系統(tǒng)的IP
ip a

然后用PostMan進行訪問即可,比如
192.168.124.128:6666/helloWorld

到此這篇關于Docker如何將jar包裝為Image并運行的文章就介紹到這了,更多相關docker jar包裝為Image內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Docker下Redis集群(主從+哨兵)安裝配置的實現(xiàn)步驟
本文主要介紹了Docker下Redis集群(主從+哨兵)安裝配置的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧<BR>2022-07-07
Docker-Compose搭建Spark集群的實現(xiàn)方法
本文主要介紹了Docker-Compose搭建Spark集群的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-05-05
Docker執(zhí)行DockerFile構(gòu)建過程指令解析
這篇文章主要為大家介紹了Docker執(zhí)行DockerFile構(gòu)建過程及DockerFile的指令解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步早日升職加薪<BR>2022-04-04
docker 安裝ElasticSearch 6.x的教程詳解
這篇文章主要介紹了docker 安裝ElasticSearch 6.x的教程,非常不錯,具有一定的參考借鑒價值 ,需要的朋友可以參考下2019-04-04
Docker?compose啟動服務遇到的問題小結(jié)
這篇文章主要介紹了Docker?compose啟動服務遇到的問題小結(jié),這個是檢驗我們的docker?compose掌握程度,因此里面的鏡像沒有提前拉取,掛載數(shù)據(jù)卷的目錄也沒有提前創(chuàng)建,本文給大家介紹的非常詳細,需要的朋友可以參考下2023-11-11

