dockerfile構(gòu)建任意java鏡像的實(shí)現(xiàn)示例
前言
如下本人介紹一個(gè)使用dockerfile構(gòu)建任意java鏡像,本人引用尚硅谷的一個(gè)《云上辦公》項(xiàng)目舉例,希望對(duì)讀者有幫助。
一、首先在本地電腦確定能夠運(yùn)行《云上辦公》項(xiàng)目
1.如圖,我的在本地已經(jīng)運(yùn)行起來了,端口是8800

2 對(duì)項(xiàng)目進(jìn)行打包

2.1 打包完成之后會(huì)在target目錄下生成一個(gè).jar文件

3 編寫Dockerfile文件

3.1 文件內(nèi)容解釋:
FROM openjdk:8-jre :下載java運(yùn)行需要的openjdk鏡像 LABEL maintainer=yangyuanhong :作者 COPY target/*.jar /app.jar :將宿主機(jī)target目錄下的.jar文件復(fù)制到容器里"/"目錄,并命名為app.jar ENTRYPOINT ["java","-jar","/app.jar"] :在容器內(nèi)運(yùn)行jar包
4 將target和Dockerfile文件上傳至服務(wù)器
4.1 我創(chuàng)建一個(gè)aaa的文件夾存放這兩個(gè)文件

4.2 上傳aaa至服務(wù)器
4.2.1 進(jìn)入aaa目錄

看到里面有target目錄和Dockerfile文件
4.2.2 在當(dāng)前目錄下構(gòu)建鏡像(必須是當(dāng)前目錄下)
構(gòu)建命令:
docker build -t guigu-oa:v2.0 .
最后的"."表示在當(dāng)前目錄下運(yùn)行
運(yùn)行后效果如下:

通過docker images查看是否打包成功。
同時(shí)要查看一下,openjdk鏡像是否已經(jīng)下載成功,如果不成功,可以直接用docker pull openjdk:8-jre 進(jìn)行下載

4.2.3 運(yùn)行剛才構(gòu)建的容器,看看是否能成功
命令如下:
docker run -d -p 8800:8800 guigu-oa:v2.0
如下已經(jīng)運(yùn)行起來了

用docker ps 檢查一下,確實(shí)運(yùn)行起來了:

4.2.4 驗(yàn)證是否成功
我們直接登錄knife4j看看是否可行:

如上圖所示,確實(shí)成功啦
二、注意事項(xiàng)
1.在服務(wù)器上準(zhǔn)備mysql,和redis
因?yàn)檫@個(gè)項(xiàng)目用到了mysql和redis,現(xiàn)在在服務(wù)器上運(yùn)行,我直接是在這臺(tái)服務(wù)器上安裝了redis和mysql5.7,同時(shí)創(chuàng)建好了項(xiàng)目所需的數(shù)據(jù)庫和表及相關(guān)數(shù)據(jù),所以在服務(wù)器上能成功運(yùn)行,讀者如果要成功運(yùn)行也請(qǐng)務(wù)必先準(zhǔn)備這兩個(gè)組件,也可以在其他能訪問的服務(wù)器。
我這里只是拿了《云上辦公》項(xiàng)目來舉例,讀者視自己的具體情況修改即可,只需按照步驟進(jìn)行既能啟動(dòng)項(xiàng)目啦。
總結(jié)
例如:以上就是今天要講的內(nèi)容,本文僅僅簡(jiǎn)單介紹了dockerfile打包鏡像及鏡像的運(yùn)行的使用。
到此這篇關(guān)于dockerfile構(gòu)建任意java鏡像的實(shí)現(xiàn)示例的文章就介紹到這了,更多相關(guān)dockerfile構(gòu)建任意java鏡像內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
docker-compose部署zk+kafka+storm集群的實(shí)現(xiàn)
這篇文章主要介紹了docker-compose部署zk+kafka+storm集群,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10
利用?trap?在?docker?容器優(yōu)雅關(guān)閉前執(zhí)行環(huán)境清理的方案
這篇文章主要介紹了利用?trap?在?docker?容器優(yōu)雅關(guān)閉前執(zhí)行環(huán)境清理的問題,需要在容器的啟動(dòng)腳本中,加入 trap 指令,來完成容器在退出前需要做的所有事情,本文通過腳本示例給大家介紹的非常詳細(xì),需要的朋友參考下吧2021-12-12
使用Docker compose編排Laravel應(yīng)用的方法
本篇文章主要介紹了使用Docker compose編排Laravel應(yīng)用的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-07-07
docker安裝Jenkins執(zhí)行構(gòu)建jar運(yùn)行方式
這篇文章主要介紹了docker安裝Jenkins執(zhí)行構(gòu)建jar運(yùn)行方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-05-05
Docker容器動(dòng)態(tài)加載掛載目錄的實(shí)踐
本文主要介紹了Docker容器中動(dòng)態(tài)加載掛載目錄的實(shí)踐,通過掛載目錄,可以將主機(jī)上的文件或目錄與容器中的文件或目錄進(jìn)行關(guān)聯(lián),實(shí)現(xiàn)應(yīng)用程序的靈活性和可擴(kuò)展性,這種方法可以避免容器重啟,減少應(yīng)用程序的停機(jī)時(shí)間,并簡(jiǎn)化應(yīng)用程序的部署和管理,使應(yīng)用程序的遷移和擴(kuò)展更加容易2024-10-10
Docker安裝Elasticsearch?8.x的實(shí)現(xiàn)示例
本文主要介紹了Docker安裝Elasticsearch8.x,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-04-04

