Docker打包自定義鏡像的實現(xiàn)
鏡像的結(jié)構(gòu)
Docker打包鏡像
前置工作
1.虛擬機(jī)中配置好docker環(huán)境,并導(dǎo)入nginx,mysql,jdk的鏡像
2.下載docker for windows
用idea打包鏡像和創(chuàng)建容器需要這個東西支持
下載安裝包后執(zhí)行,無腦回車即可
3.idea中配置docker連接
完成配置后,點開docker連接,可以看到如下內(nèi)容
簡單介紹一下,可以通過鏡像創(chuàng)建容器。
鏡像相當(dāng)于一個配方,容器相當(dāng)于菜肴,通過一個秘方可以創(chuàng)建無數(shù)個菜肴,同理:通過指定鏡像可以創(chuàng)建無數(shù)個容器。
每個容器相當(dāng)于一個小型linux機(jī)器,它只包含最基本的功能(內(nèi)核級功能),用一句話形容就是:麻雀雖小五臟俱全。
4.將我們的工程打成一個jar包
1.首先,修改pom文件中的skip標(biāo)簽的值為false
否則他會跳過打包我們的啟動類,在執(zhí)行java -jar時會報如下錯誤
2.執(zhí)行命令 mvn -clean mvn -package
也可以在界面執(zhí)行
打包好會生成一個target文件夾,我們的jar包在這個文件夾里面
兩種打包鏡像的方式
注意,鏡像的名字必須全小寫
手動打包(不推薦,應(yīng)急情況下使用)
1.寫Dockerfile文件
# 基于jdk17以上 的鏡像創(chuàng)建 FROM openjdk:17-jdk-alpine # 將編譯后的文件復(fù)制到鏡像中,用于運(yùn)行 # 參數(shù)1 jar包所在位置(目錄+文件名) # 參數(shù)2 給這個jar起別名 用別名是為了移植方便 # ADD=COPY ADD target/TestDockerDB01-0.0.1-SNAPSHOT.jar /app.jar # 設(shè)置啟動命令 ENTRYPOINT ["java","-jar","/app.jar"]
2.將jar包和Dockerfile文件通過ftp工具上傳到虛擬機(jī)
3. 通過命令打包鏡像
命令格式:
docker build -t 鏡像名:版本號 Dockerfile所在的地址
執(zhí)行命令報錯,這是因為當(dāng)我們把jar包移到虛擬機(jī)后,它所在的位置就不是target/TestDockerDB01-0.0.1-SNAPSHOT.jar了
這時候我們通過vi Dockerfile去修改文件
再一次檢查一下jar包和Dockerfile文件的位置,重新執(zhí)行命令
創(chuàng)建鏡像成功
idea中也能看到我們剛剛創(chuàng)建的鏡像
通過idea打包
回到Dockerfile文件,進(jìn)行配置
把Dockerfile跑起來,這里我們選擇第一個,創(chuàng)建鏡像和容器
創(chuàng)建成功后會自動啟動容器
到此這篇關(guān)于Docker打包自定義鏡像的實現(xiàn)的文章就介紹到這了,更多相關(guān)Docker打包自定義鏡像內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Docker自定義網(wǎng)絡(luò)詳細(xì)介紹
大家好,本篇文章主要講的是Docker自定義網(wǎng)絡(luò)詳細(xì)介紹,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽2021-12-12使用Docker部署Dashdot服務(wù)器儀表盤的步驟
Dashdot是一款簡單、實用的開源服務(wù)器儀表盤,設(shè)計時考慮到了玻璃形態(tài),它旨在用于較小的?VPS?和私人服務(wù)器,這篇文章主要介紹了使用Docker部署Dashdot服務(wù)器儀表盤,需要的朋友可以參考下2022-12-12