SpringBoot項(xiàng)目Docker部署三種方式
一種:直接拷貝jar到服務(wù)器部署
1.增加docker配置文件
新建Dockerfile文件,負(fù)責(zé)Docker的配置
FROM openjdk:21 #ENV timezone RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \&& echo 'Asia/Shanghai' >/etc/timezone # WORKDIR WORKDIR /app #Copy command, copy files or directories from the context directory to the specified path in the container COPY spring-monitoring.jar /app/spring-monitoring.jar #EXPOSE 18081 ENTRYPOINT ["java", "-jar", "-Xmx512m", \ "-XX:-OmitStackTraceInFastThrow", \ "spring-monitoring.jar", "--logging.file.path=/app"] #"-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005",\
2.上傳jar包到遠(yuǎn)程目錄:
創(chuàng)建目錄命令:mkdir -p /apps/spring
把自己的jar包和dockerfile文件上傳到創(chuàng)建的目錄
3.build新的鏡像
docker build -t dtb/spring-monitoring:1.0 . docker images #查看剛構(gòu)建的鏡像
4.啟動(dòng)容器:
docker run -d --name monitoring --restart always --net host dtb/spring-monitoring:1.0
二種:SpringBoot 通過maven插件實(shí)現(xiàn)docker鏡像打包
此方法需要開啟遠(yuǎn)程訪問2375 端口不太安全,如果需要安全的話還需要Docker啟用TLS加密
這里暫不做介紹
三種:idea 鏈接docker直接構(gòu)建鏡像啟動(dòng)容器
在項(xiàng)目根目錄下增加docker配置文件
FROM openjdk:21 #ENV timezone RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \&& echo 'Asia/Shanghai' >/etc/timezone # WORKDIR WORKDIR /app #Copy command, copy files or directories from the context directory to the specified path in the container COPY target/spring-monitoring.jar /app/spring-monitoring.jar #EXPOSE 18081 ENTRYPOINT ["java", "-jar", "-Xmx512m", \ "-XX:-OmitStackTraceInFastThrow", \ "spring-monitoring.jar", "--logging.file.path=/app"]
下載插件
運(yùn)行配置
點(diǎn)擊服務(wù)器 三個(gè)點(diǎn)
點(diǎn)擊加號(hào),選ssh,ssh后面的三個(gè)加號(hào)配置鏈接服務(wù)器
這里的身份驗(yàn)證類型是密碼
Only key-pair ssh auth type is supported for docker connections
剛才使用ssh賬號(hào)密碼的方式,docker鏈接需要用ssh key
點(diǎn)測(cè)試連接 輸入登錄用戶的密碼
點(diǎn)確定
可以添加不同的運(yùn)行選項(xiàng),包括綁定端口、綁定掛載、運(yùn)行選項(xiàng)等
添加執(zhí)行前編譯
選擇工作目錄(當(dāng)前自己項(xiàng)目的目錄)及填寫命令行,命令:clean package -U -DskipTests
執(zhí)行
成功
到此這篇關(guān)于SpringBoot項(xiàng)目Docker部署三種方式的文章就介紹到這了,更多相關(guān)SpringBoot Docker部署內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
基于Java的度分秒坐標(biāo)轉(zhuǎn)純經(jīng)緯度坐標(biāo)的漂亮國基地信息管理的方法
本文以java語言為例,詳細(xì)介紹如何管理漂亮國的基地信息,為下一步全球的空間可視化打下堅(jiān)實(shí)的基礎(chǔ),首先介紹如何對(duì)數(shù)據(jù)進(jìn)行去重處理,然后介紹在java當(dāng)中如何進(jìn)行度分秒位置的轉(zhuǎn)換,最后結(jié)合實(shí)現(xiàn)原型進(jìn)行詳細(xì)的說明,感興趣的朋友跟隨小編一起看看吧2024-06-06使用遞歸算法結(jié)合數(shù)據(jù)庫解析成Java樹形結(jié)構(gòu)的代碼解析
這篇文章主要介紹了使用遞歸算法結(jié)合數(shù)據(jù)庫解析成Java樹形結(jié)構(gòu)的代碼解析的相關(guān)資料,需要的朋友可以參考下2017-09-09Java中.divide()方法使用及注意事項(xiàng)詳解
divide方法就是bigdecimal類中的一個(gè)除法計(jì)算方法,由于該divide方法參數(shù)類型眾多并且不易理解容易出現(xiàn)錯(cuò)誤,這篇文章主要給大家介紹了關(guān)于Java中.divide()方法使用及注意事項(xiàng)的相關(guān)資料,需要的朋友可以參考下2024-03-03java使用Hex編碼解碼實(shí)現(xiàn)Aes加密解密功能示例
這篇文章主要介紹了java使用Hex編碼解碼實(shí)現(xiàn)Aes加密解密功能,結(jié)合完整實(shí)例形式分析了Aes加密解密功能的定義與使用方法,需要的朋友可以參考下2017-01-01從JVM的內(nèi)存管理角度分析Java的GC垃圾回收機(jī)制
這篇文章主要介紹了從JVM的內(nèi)存管理角度分析Java的GC垃圾回收機(jī)制,帶有GC是Java語言的重要特性之一,需要的朋友可以參考下2015-11-11