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.啟動容器:
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)建鏡像啟動容器
在項(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)擊加號,選ssh,ssh后面的三個(gè)加號配置鏈接服務(wù)器

這里的身份驗(yàn)證類型是密碼


Only key-pair ssh auth type is supported for docker connections
剛才使用ssh賬號密碼的方式,docker鏈接需要用ssh key

點(diǎn)測試連接 輸入登錄用戶的密碼


點(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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Docker部署SpringBoot項(xiàng)目的實(shí)現(xiàn)步驟
- 詳解springboot項(xiàng)目docker部署實(shí)踐
- 使用Docker部署SpringBoot項(xiàng)目的實(shí)現(xiàn)方法
- Springboot打包為Docker鏡像并部署的實(shí)現(xiàn)
- Docker部署SpringBoot應(yīng)用的實(shí)現(xiàn)步驟
- 如何利用Docker部署一個(gè)簡單的springboot項(xiàng)目
- Docker一鍵部署SpringBoot項(xiàng)目的多種方式
- Docker?+?Spring?Boot完美部署的操作流程
相關(guān)文章
深入理解happens-before和as-if-serial語義
本文大部分整理自《Java并發(fā)編程的藝術(shù)》,溫故而知新,加深對基礎(chǔ)的理解程度。下面可以和小編來一起學(xué)習(xí)下2019-05-05
詳解Java中方法next()和nextLine()的區(qū)別與易錯(cuò)點(diǎn)
這篇文章主要介紹了詳解Java中方法next()和nextLine()的區(qū)別與易錯(cuò)點(diǎn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
解決因jdk版本引起的TypeNotPresentExceptionProxy異常
這篇文章介紹了解決因jdk版本引起的TypeNotPresentExceptionProxy異常的方法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-12-12
MyBatis異常java.sql.SQLSyntaxErrorException的問題解決
使用mybatis插入數(shù)據(jù)時(shí)出現(xiàn)java.sql.SQLSyntaxErrorException異常,本文就來介紹一下MyBatis異常的問題解決,具有一定的參考價(jià)值,感興趣的可以了解一下2023-08-08
SpringMVC框架實(shí)現(xiàn)上傳圖片的示例代碼
本篇文章主要介紹了SpringMVC框架實(shí)現(xiàn)上傳圖片的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-09-09
mybatis 連接mysql數(shù)據(jù)庫 tinyint 為boolean類型詳解
這篇文章主要介紹了mybatis 連接mysql數(shù)據(jù)庫 tinyint 為boolean類型詳解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-11-11
SpringMVC?bean加載控制的實(shí)現(xiàn)分析
SpringMVC是一種基于Java,實(shí)現(xiàn)了Web?MVC設(shè)計(jì)模式,請求驅(qū)動類型的輕量級Web框架,即使用了MVC架構(gòu)模式的思想,將Web層進(jìn)行職責(zé)解耦?;谡埱篁?qū)動指的就是使用請求-響應(yīng)模型,框架的目的就是幫助我們簡化開發(fā),SpringMVC也是要簡化我們?nèi)粘eb開發(fā)2023-02-02
springboot表單提交之validator校驗(yàn)
在前臺表單驗(yàn)證的時(shí)候,通常會校驗(yàn)一些數(shù)據(jù)的可行性,比如是否為空,長度,身份證,郵箱等等,這篇文章主要給大家介紹了關(guān)于springboot表單提交之validator校驗(yàn)的相關(guān)資料,需要的朋友可以參考下2021-05-05
spring如何實(shí)現(xiàn)依賴注入DI(spring-test方式)
本文主要介紹如何實(shí)現(xiàn)spring 的依賴注入,并且淺顯的講述一下注入需要注意的事項(xiàng)。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03

