SpringBoot項目Docker部署三種方式
一種:直接拷貝jar到服務(wù)器部署
1.增加docker配置文件
新建Dockerfile文件,負責(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包到遠程目錄:
創(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插件實現(xiàn)docker鏡像打包
此方法需要開啟遠程訪問2375 端口不太安全,如果需要安全的話還需要Docker啟用TLS加密
這里暫不做介紹
三種:idea 鏈接docker直接構(gòu)建鏡像啟動容器
在項目根目錄下增加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"]
下載插件

運行配置

點擊服務(wù)器 三個點

點擊加號,選ssh,ssh后面的三個加號配置鏈接服務(wù)器

這里的身份驗證類型是密碼


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

點測試連接 輸入登錄用戶的密碼


點確定

可以添加不同的運行選項,包括綁定端口、綁定掛載、運行選項等

添加執(zhí)行前編譯

選擇工作目錄(當(dāng)前自己項目的目錄)及填寫命令行,命令:clean package -U -DskipTests



執(zhí)行


成功

到此這篇關(guān)于SpringBoot項目Docker部署三種方式的文章就介紹到這了,更多相關(guān)SpringBoot Docker部署內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
深入理解happens-before和as-if-serial語義
本文大部分整理自《Java并發(fā)編程的藝術(shù)》,溫故而知新,加深對基礎(chǔ)的理解程度。下面可以和小編來一起學(xué)習(xí)下2019-05-05
詳解Java中方法next()和nextLine()的區(qū)別與易錯點
這篇文章主要介紹了詳解Java中方法next()和nextLine()的區(qū)別與易錯點,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
解決因jdk版本引起的TypeNotPresentExceptionProxy異常
這篇文章介紹了解決因jdk版本引起的TypeNotPresentExceptionProxy異常的方法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-12-12
MyBatis異常java.sql.SQLSyntaxErrorException的問題解決
使用mybatis插入數(shù)據(jù)時出現(xiàn)java.sql.SQLSyntaxErrorException異常,本文就來介紹一下MyBatis異常的問題解決,具有一定的參考價值,感興趣的可以了解一下2023-08-08
mybatis 連接mysql數(shù)據(jù)庫 tinyint 為boolean類型詳解
這篇文章主要介紹了mybatis 連接mysql數(shù)據(jù)庫 tinyint 為boolean類型詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-11-11
spring如何實現(xiàn)依賴注入DI(spring-test方式)
本文主要介紹如何實現(xiàn)spring 的依賴注入,并且淺顯的講述一下注入需要注意的事項。如有錯誤或未考慮完全的地方,望不吝賜教2022-03-03

