SpringBoot項目Docker部署三種方式
一種:直接拷貝jar到服務器部署
1.增加docker配置文件
新建Dockerfile文件,負責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"]
下載插件
運行配置
點擊服務器 三個點
點擊加號,選ssh,ssh后面的三個加號配置鏈接服務器
這里的身份驗證類型是密碼
Only key-pair ssh auth type is supported for docker connections
剛才使用ssh賬號密碼的方式,docker鏈接需要用ssh key
點測試連接 輸入登錄用戶的密碼
點確定
可以添加不同的運行選項,包括綁定端口、綁定掛載、運行選項等
添加執(zhí)行前編譯
選擇工作目錄(當前自己項目的目錄)及填寫命令行,命令:clean package -U -DskipTests
執(zhí)行
成功
到此這篇關(guān)于SpringBoot項目Docker部署三種方式的文章就介紹到這了,更多相關(guān)SpringBoot Docker部署內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
基于Java的度分秒坐標轉(zhuǎn)純經(jīng)緯度坐標的漂亮國基地信息管理的方法
本文以java語言為例,詳細介紹如何管理漂亮國的基地信息,為下一步全球的空間可視化打下堅實的基礎,首先介紹如何對數(shù)據(jù)進行去重處理,然后介紹在java當中如何進行度分秒位置的轉(zhuǎn)換,最后結(jié)合實現(xiàn)原型進行詳細的說明,感興趣的朋友跟隨小編一起看看吧2024-06-06使用遞歸算法結(jié)合數(shù)據(jù)庫解析成Java樹形結(jié)構(gòu)的代碼解析
這篇文章主要介紹了使用遞歸算法結(jié)合數(shù)據(jù)庫解析成Java樹形結(jié)構(gòu)的代碼解析的相關(guān)資料,需要的朋友可以參考下2017-09-09java使用Hex編碼解碼實現(xiàn)Aes加密解密功能示例
這篇文章主要介紹了java使用Hex編碼解碼實現(xiàn)Aes加密解密功能,結(jié)合完整實例形式分析了Aes加密解密功能的定義與使用方法,需要的朋友可以參考下2017-01-01從JVM的內(nèi)存管理角度分析Java的GC垃圾回收機制
這篇文章主要介紹了從JVM的內(nèi)存管理角度分析Java的GC垃圾回收機制,帶有GC是Java語言的重要特性之一,需要的朋友可以參考下2015-11-11