SpringBoot3.x打包Docker容器的實(shí)現(xiàn)
更新時(shí)間:2024年04月30日 10:35:41 作者:程序員食堂
這篇文章主要介紹了SpringBoot3.x打包Docker容器的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
Docker化Spring Boot應(yīng)用
創(chuàng)建文件夾 demo
mkdir demo cd demo
創(chuàng)建Dockerfile
# 兩個(gè) openjdk 二選一 #FROM openjdk:17-jre-alpine FROM eclipse-temurin:17 MAINTAINER chengxuyuanshitang <chengxuyuanshitang@XX.com> RUN mkdir -p /workspace/java/demo COPY demo.jar /workspace/java/demo/demo.jar ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", " /workspace/java/demo/demo.jar"] CMD ["--spring.profiles.active=test"] EXPOSE 8122
- FROM:指定基礎(chǔ)鏡像,項(xiàng)目是使用jdk17開發(fā)的項(xiàng)目,所以我們指定的基礎(chǔ)鏡像為openjdk:17-jdk-alpine
- MAINTAINER:項(xiàng)目維護(hù)人員
- RUN:執(zhí)行命令,在根目錄下創(chuàng)建/workspace/java/demo目錄
- COPY:將宿主機(jī)當(dāng)前目錄下的demo.jar文件拷貝到app目錄下,并重命名為demo.jar
- ENTRYPOINT:指定容器啟動(dòng)程序及參數(shù)
- CMD: 提供的參數(shù)將會(huì)被附加到 ENTRYPOINT 命令之后,作為額外的參數(shù)傳遞給 java 命令。如果沒有 CMD 指令,或者在運(yùn)行容器時(shí)沒有提供任何參數(shù),那么只有 ENTRYPOINT 定義的命令會(huì)被執(zhí)行。
- EXPOSE:指定運(yùn)行時(shí)容器提供服務(wù)的端口
- -Djava.security.egd=file:/dev/./urandom : 這是一個(gè)系統(tǒng)屬性設(shè)置,-D 表示設(shè)置一個(gè)系統(tǒng)屬性。java.security.egd 是用于指定隨機(jī)數(shù)生成器的系統(tǒng)屬性。file:/dev/./urandom 指定了使用 /dev/urandom 作為隨機(jī)數(shù)生成器的源,這通常用于提高性能,因?yàn)?/dev/urandom 在生成隨機(jī)數(shù)時(shí)不會(huì)阻塞。
在demo夾下面放入demo.jar
demo.jar和Dockerfile在一個(gè)目錄下面
執(zhí)行鏡像構(gòu)建命令
docker build -t demo:v1 .

查看本地鏡像
docker images

運(yùn)行容器
docker run -p 8899:8122 demo:v1

瀏覽器訪問
IP:8899/doc.html#/home

到此這篇關(guān)于SpringBoot3.x打包Docker容器的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)SpringBoot3.x打包Docker內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:
- Docker打包SpringBoot鏡像的實(shí)現(xiàn)方式
- SpringBoot打包成Docker鏡像的項(xiàng)目實(shí)踐
- SpringBoot打包成Docker鏡像的幾種實(shí)現(xiàn)方式
- SpringBoot多模塊打包部署Docker的項(xiàng)目實(shí)戰(zhàn)
- 一步步教你把SpringBoot項(xiàng)目打包成Docker鏡像
- SpringBoot打包docker鏡像發(fā)布的詳細(xì)步驟
- Springboot微服務(wù)打包Docker鏡像流程解析
- springboot服務(wù)docker打包分層的實(shí)現(xiàn)
相關(guān)文章
如何用Jfinal連接多個(gè)數(shù)據(jù)庫(kù)
這篇文章主要介紹了如何用Jfinal連接多個(gè)數(shù)據(jù)庫(kù),幫助大家更好的理解和學(xué)習(xí)使用Jfinal,感興趣的朋友可以了解下2021-03-03
Java LinkedHashMap 底層實(shí)現(xiàn)原理分析
LinkedHashMap繼承自HashMap實(shí)現(xiàn)了Map接口。基本實(shí)現(xiàn)同HashMap一樣,不同之處在于LinkedHashMap保證了迭代的有序性。其內(nèi)部維護(hù)了一個(gè)雙向鏈表,解決了 HashMap不能隨時(shí)保持遍歷順序和插入順序一致的問題。2021-05-05
Java+Swing實(shí)現(xiàn)五子棋游戲的示例代碼
本文將通過(guò)Java語(yǔ)言實(shí)現(xiàn)經(jīng)典游戲—五子棋游戲,文中采用了Swing制作游戲界面,具有開始游戲,悔棋,認(rèn)輸,退出等功能。感興趣的可以跟隨小編一起動(dòng)手試一試2022-02-02
Spring?Boot?多數(shù)據(jù)源處理事務(wù)的思路詳解
這篇文章主要介紹了Spring?Boot?多數(shù)據(jù)源如何處理事務(wù),本文單純就是技術(shù)探討,要從實(shí)際應(yīng)用中來(lái)說(shuō)的話,我并不建議這樣去玩分布式事務(wù)、也不建議這樣去玩多數(shù)據(jù)源,畢竟分布式事務(wù)主要還是用在微服務(wù)場(chǎng)景下,對(duì)Spring?Boot?多數(shù)據(jù)源事務(wù)相關(guān)知識(shí)感興趣的朋友參考下本文2022-06-06

