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