Docker自定義鏡像實現(SpringBoot程序為例)

?作者簡介:大家好,我是 Meteors., 向往著更加簡潔高效的代碼寫法與編程方式,持續分享Java技術內容。
🍎個人主頁:Meteors.的博客
💞當前專欄:知識備份
?特色專欄:知識分享
🥭本文內容:Docker自定義鏡像實現(SpringBoot程序為例)
📚 ** ps ** ?:閱讀文章如果有問題或者疑惑,歡迎在評論區提問或指出。


目錄

一. 說明

二.? 實現步驟

附加


一. 說明

????????Docker自定義鏡像指的是用戶根據自己的需求和規范,使用Dockerfile或其他方式創建的一個Docker鏡像。

Dockerfile說明:

? ? ? ? DockerFile是一個文本文件,其中包含一個個的指令(Instruction),用指令來說明要執行什么操作來構建鏡像。將來Docker可以根據Dockerfile幫我們構建鏡像。常見指令如下:

指令說明示例
FROM指定基礎鏡像

FROM centos: 6

ENV設置環境變量,可在后面指令使用ENV key value
COPY拷貝本地文件到鏡像的指定目錄COPY ./jre11.tar.gz /tmp
RUN執行Linux的shell命令,一般是安裝過程的命令

RUN tar -zxvf /tmp/jre11.tar.gz && EXPORT path=/tmp/jre11:$path

EXPOSE指定容器運行時的監聽的端口,給鏡像使用者看EXPOSE 8080
ENTRYPOINT鏡像中應用的啟動命令,容器運行時調用ENTRYPOINT java -jar xx.jar

ps:官網文檔

????????這個鏡像需要包含特定的操作系統、軟件、配置文件和其他必要的組件,以滿足用戶特定的應用或開發環境需求(鏡像就是包含了應用程序、程序運行的系統函數庫、運行配置等文件的文件包。構建鏡像的過程其實就是把上述文件打包的過程。

???????自定義Docker鏡像的好處:用戶可以根據自己的需要定制鏡像內容,從而實現快速部署、可擴展性和可移植性。


二.? 實現步驟

? ? ? ? 以運行一個SpringBoot程序為例,部署步驟如下:

  1. 將Java項目進行打包
  2. 編寫Dockerfile文檔
    # 配置jdk環境
    FROM openjdk:11.0-jre-buster
    # 設定時區
    ENV TZ=Asia/Shanghai
    RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
    # 拷貝jar包到鏡像內,并改名為app.jar
    COPY mp-demo-0.0.1-SNAPSHOT.jar /app.jar
    # 入口
    ENTRYPOINT ["java", "-jar", "/app.jar"]
  3. 構建鏡像
    docker build -t mp-demo .
  4. 下載jdk環境(文末附下載鏈接)

  5. 運行鏡像
    docker run -d --name mp-demo -p 8080:8080 mp-demo

?最后,通過

docker logs -f mp-demo

?我們可以看到鏡像已經運行成功了,并且swagger也可以正常的訪問!

附加

1. DokcerJDK11鏡像tar包:

????????鏈接: https://pan.baidu.com/s/1tXEmrhSG3bY0Xm4sT5iwhQ?pwd=8700 提取碼: 8700?

2. 使用:

docker load -i jdk.tar


?最后,

? ? ? ? 希望文章對你有所幫助!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/23426.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/23426.shtml
英文地址,請注明出處:http://en.pswp.cn/web/23426.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Java核心: 為圖片生成水印

今天干了一件特別不務正業的事,做了一個小程序用來給圖片添加水印。事情的起因是需要將自己的身份證照片分享給別人,手邊并沒有一個趁手的工具來生成圖片水印。很多APP提供了水印的功能,但會把我的圖片上傳到他們的服務器,身份證太…

AdSet通過審核并入駐全國SDK管理服務平臺

SDK、API、H5是三種常見的APP廣告接入方式,目前市面上使用最廣泛的還是SDK對接,通過使用廣告SDK,App開發者可以在App中展示廣告商投放的廣告,進而根據用戶的點擊賺取收益。具備一定規模流量、想快速獲得收益的APP開發者都會考慮接…

使用#sortablejs插件對表格中拖拽行排序#Vue3#后端接口數據

使用#sortablejs對表格中拖拽行排序#Vue3#后端接口數據 *效果&#xff1a; 拖動表格行排序 首先安裝插件sortable npm install sortablejs --save代碼&#xff1a; <template><!-- sortable.js 進行表格排序 --><!-- 演示地址 --><div class"dem…

618值得推薦的洗地機有哪些?附上最全洗地機選購攻略

洗地機的出現&#xff0c;讓家庭清潔變得越來越高效&#xff0c;它省時省力的洗地方式&#xff0c;自帶水箱和除菌模式&#xff0c;還能減輕我們家庭清潔的負擔&#xff0c;但由于目前市面上家用洗地機品牌和種類眾多&#xff0c;讓大家挑選起來比較困難。那么家用洗地機哪個品…

Go微服務: 關于分布式系統中的常見問題,分布式事務,以及常用解決方案

概述 在當今的互聯網時代&#xff0c;分布式系統已成為支撐大規模服務、高并發和高性能應用的基石它們通過網絡連接多臺計算機&#xff0c;協同工作&#xff0c;共同完成任務&#xff0c;但這也引入了諸如數據一致性、網絡延遲、容錯性等挑戰解決這些問題的關鍵在于設計和實施…

String,StringBuffer,StringBuilder的區別?

String是不可變的&#xff0c;StringBuffer和StringBuilder是可變的。StringBuffer是線程安全的&#xff0c;StringBuilder是非線程安全的。 String的 是如何實現的 使用拼接字符串&#xff0c;其實只是Java提供的一個語法糖。 其實String的 底層是new 了一個StringBuilde…

ssh遠程管理

SSH遠程管理 ssh是一種安全通道協議&#xff0c;只能用來實現字符界面的遠程登錄。遠程復制&#xff0c;遠程文本傳輸。 ssh對通信雙方的數據進行了加密。 用戶名和密碼登錄 密鑰對認證方式&#xff08;可以實現免密登錄&#xff09; ssh 端口號22 網絡層 傳輸層 數據傳輸…

嵌入式軟件中static的用法

目錄 一、引言 二、static關鍵字的基本用法 四、static的使用場景 五、總結 一、引言 在嵌入式軟件開發中&#xff0c;static是一個至關重要的關鍵字&#xff0c;用于控制變量的存儲周期和可見性&#xff0c;以及函數的可見性。本報告將全面介紹static在嵌入式C語言編程中…

篩斗數據:如何利用數據提取提高營銷效果?

要利用數據提取提高營銷效果&#xff0c;企業需要采取一系列策略來確保他們能夠從收集的數據中獲取有價值的見解&#xff0c;并將這些見解應用于營銷活動中。以下是一些關鍵步驟和策略&#xff1a; 1. 定義目標和關鍵績效指標&#xff1a;在開始任何數據提取之前&#xff0c;首…

PDF格式分析(八十五)——水印注釋(Watermark)

水印注釋(PDF1.6及其以上版本),水印可表現為文字、圖片、圖像,水印大小固定,顯示在頁面位置固定,而不論打印頁的尺寸(注意打印時,可能打印不全喲)。需要注意的是:水印注釋沒有彈出窗口。 水印注釋字典條目如下表: 條目類型說明Subtypename(必填)本詞典所描述的注釋類型…

【重學C語言】十八、SDL2 圖形編程介紹和環境配置

【重學C語言】十八、SDL2 圖形編程介紹和環境配置 **SDL2介紹**SDL 2用途SDL 在哪些平臺上運行&#xff1f;下載和安裝 SDL2安裝 SDL2 clion 配置 SDL2 SDL2介紹 SDL2&#xff08;Simple DirectMedia Layer 2&#xff09;是一個開源的跨平臺多媒體開發庫&#xff0c;主要用于游…

最優化練習題

def f(x):return x*x-4*x5 a0,b01,31、均勻搜索 令 δ ( b 0 ? a 0 ) / N , a i a 0 i δ , i 1 , 2 , 3 \delta(b_0-a_0)/N,a_ia_0i\delta,i1,2,3 δ(b0??a0?)/N,ai?a0?iδ,i1,2,3 while b0-a0>0.1:anp.linspace(a0,b0,5)for i in range(1,4):if f(a[i-1])>f…

flutter3-os:基于flutter3.x+dart3+getx手機版os管理系統

flutter3-os-admin跨平臺手機后臺OS系統。 原創Flutter3.22Dart3.4Getxfl_chart等技術開發仿ios手機桌面OA管理系統。自研柵格化布局引擎、自定義桌面壁紙、小部件、底部Dock菜單、可拖拽懸浮球等功能。 全新自研柵格化OS菜單布局引擎。 使用技術 編輯器&#xff1a;VScode技術…

深入理解feign遠程調用的各種超時參數

1. 引言 在spring cloud微服中&#xff0c;feign遠程調用可能是大家每天都接觸到東西&#xff0c;但很多同學卻沒咋搞清楚這里邊的各種超時問題&#xff0c;生產環境可能會蹦出各種奇怪的問題。 首先說下結論&#xff1a; 1)只使用feign組件&#xff0c;不使用ribbion組件&…

【Text2SQL 論文】How to prompt LLMs for Text2SQL

論文&#xff1a;How to Prompt LLMs for Text-to-SQL: A Study in Zero-shot, Single-domain, and Cross-domain Settings ???? arXiv:2305.11853, NeurlPS 2023 Code: GitHub 一、論文速讀 本文主要是在三種常見的 Text2SQL ICL settings 評估不同的 prompt constructio…

數據分析必備:一步步教你如何用Pandas做數據分析(18)

1、Pandas 串聯 Pandas 連接的操作實例 Pandas提供了各種功能&#xff0c;可以輕松地將Series&#xff0c;DataFrame和Panel對象組合在一起。 pd.concat(objs,axis0,joinouter,join_axesNone,ignore_indexFalse)objs ? 這是Series的序列或映射&#xff0c;DataFrame或Panel對…

【云嵐到家】-day01-項目熟悉-查詢區域服務開發

文章目錄 1 云嵐家政項目概述1.1 簡介1.2 項目業務流程1.3 項目業務模塊1.4 項目架構及技術棧1.5 學習后掌握能力 2 熟悉項目2.1 熟悉需求2.2 熟悉設計2.2.1 表結構2.2.2 熟悉工程結構2.2.3 jzo2o-foundations2.2.3.1 工程結構2.2.3.2 接口測試 3 開發區域服務模塊3.1 流程分析…

Python接口自動化之使用requests庫發送http請求

requests庫 ? 什么是Requests &#xff1f;Requests 是?Python語?編寫&#xff0c;基于urllib&#xff0c;采?Apache2 Licensed開源協議的 HTTP 庫。它? urllib 更加?便&#xff0c;可以節約我們?量的?作&#xff0c;完全滿?HTTP測試需求。 ? 安裝&#xff1a;cmd命…

docker 拉取不到鏡像的問題:拉取超時

error pulling image configuration: download failed after attempts6: dial tcp 31.13.94.10:443: i/o timeout 首先設置國內的鏡像源&#xff1a;復制下面直接執行 sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-EOF{"registry-mirrors"…

【POSIX】消息類的格式與使用

本文給出一個MacOS操作系統中的消息類的使用過程示例&#xff08;結合gencat命令&#xff0c;<nl_types.h>頭文件以及catopen,catgets,catclose3個函數&#xff09; 首先根據對應的操作系統&#xff0c;查看 gencat 命令 man gencat 可以詳細看到其中對于輸入文件&…