docker:部署java Springboot項目

文章目錄

    • 1、打 jar 包
    • 1、創建Dockerfile
    • 3、創建鏡像
    • 4、啟動容器
    • 其他注意事項
      • docker中jdk的版本命名
        • 舉例:openjdk:11-ea-17-jre-slim
        • 舉例:8u312-jre-nanoserver-1809
      • 通過find找文件

1、打 jar 包

將項目打一個 jar 包,可以使用 IDEA
在這里插入圖片描述
在這里插入圖片描述

1、創建Dockerfile

在項目根目錄創建Dockerfile文件

FROM openjdk:17-jdk-slim
WORKDIR /app
COPY target/zy-spring-boot-0.0.1-SNAPSHOT.jar app.jar
ENTRYPOINT ["java", "-jar", "app.jar"]

3、創建鏡像

# 項目根目錄執行
docker build -t zy-spring-boot:1.0.0 .

4、啟動容器

docker run -p 9090:9090 zy-spring-boot:1.0.0

執行結果和你 java -jar 的一樣

其他注意事項

docker中jdk的版本命名

我們在 Dockerfile 中寫的 FROM openjdk:17-jdk-slim 就是從 dockerhub 中搜的,以下是一些命名規則

舉例:openjdk:11-ea-17-jre-slim
  • openjdk:表示這是一個 OpenJDK(Open Java Development Kit)的鏡像。OpenJDK 是一個開源的 Java 開發工具包。
  • 11:表示 OpenJDK 的版本號。在這個例子中,版本號為 11。
  • ea:表示這是一個“早期訪問”(Early Access)版本。EA 版本是為了讓用戶在正式發布之前嘗試新特性和改進的版本。
  • 17:表示這個 EA 版本的具體構建號。每個 EA 版本都有一個唯一的構建號。
  • jre:表示這是一個包含 Java 運行時環境(JRE)的鏡像。JRE 包含了運行 Java 應用程序所需的最小環境。
  • slim:表示這是一個較小的基礎鏡像,以減小鏡像的大小。通常,slim 版本使用了較小的操作系統作為基礎。
舉例:8u312-jre-nanoserver-1809
  • 8u312:表示這是 Java 版本 8 的更新版本,具體為第 312 次更新。這里的 “u” 表示 “update”,表示 Java 的更新版本。
  • jre:表示這是一個包含 Java 運行時環境的鏡像。JRE 包含了運行 Java 應用程序所需的最小環境,不包括開發工具。
  • nanoserver:表示這個鏡像是基于 Windows Nano Server 構建的。Nano Server 是 Windows Server 2016 中的一種輕量級部署選項,用于運行云原生應用。
  • 1809:表示這個鏡像是基于 Windows Server 版本 1809 構建的。這是 Windows Server 2019 的早期版本號。

通過find找文件

我想找到 mysql 的 my.cnf 文件,但是不知道在哪,可以這么找

sudo find /opt -name my.cnf
> mysql --help
Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /opt/homebrew/etc/my.cnf ~/.my.cnf

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

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

相關文章

2.6 A 的 LU 分解

一、A LU 線性代數很多關鍵的概念實際上就是矩陣的分解(factorization)。原始矩陣 A A A 變成兩個或三個特殊矩陣的乘積。第一個分解,實際上也是最重要的分解,來自消元法。因子 L L L 和 U U U 都是三角形矩陣,分…

前端實習面試常考(定位、文檔流)

前端實習面試常考(定位、文檔流) 最近在找前端的實習,看了很多面試題,再這里做一個總結分享給大家,希望對大家的實習面試起到一些幫助(本人剛入門不久,如果大家對我的內容有異議,歡…

NgRx中dynamic reducer的原理和用法?

在 Angular 應用中,使用 NgRx 狀態管理庫時,動態 reducer 的概念通常是指在運行時動態添加或移除 reducer。這樣的需求可能源于一些特殊的場景,比如按需加載模塊時,你可能需要添加相應的 reducer。 以下是動態 reducer 的一般原理…

多級路由component頁面不加載

項目基于vue-element-admin 新建SubView.vue <template><router-view /> </template><script setup> </script>在父層添加component {path: /sj,component: Layout,redirect: /sj,name: 三級醫院評審標準(2022),meta: {title: 三級醫院評審標準(…

發布“最強”AI大模型,股價大漲,吊打GPT4的谷歌股票值得投資嗎?

來源&#xff1a;猛獸財經 作者&#xff1a;猛獸財經 谷歌在AI領域的最新進展&#xff0c;引發投資者關注 在谷歌-C(GOOGL)谷歌-A&#xff08;GOOG&#xff09;昨日發布了最新的AI大模型Gemini后&#xff0c;其股價就出現了大幅上漲&#xff0c;更是引發了投資者的密切關注&a…

Docker-compose容器編排與容器監控

一、Docker-compose 1、概念&#xff1a; Docker-Compose 是 Docker 官方的開源項目&#xff0c;負責實現對Docker容器集群的快速編排。 2、作用&#xff1a; Docker-Compose可以管理多個Docker容器組成一個應用。需要定義一個yaml格式的配置文件 docker-compose.yml&#…

CSS邏輯組合偽類

CSS 的邏輯組合偽類有 4 種&#xff0c;分別是&#xff1a;:not()、:is()、:where()和:has()。 否定偽類:not() 否定偽類&#xff0c;是在元素與括號里面的參數不匹配的時候&#xff0c;就會對這個偽類進行匹配。比如&#xff1a;:not(span):{color:red}&#xff0c;這就會匹…

SEO優化是什么,如何進行SEO優化

SEO&#xff08;Search Engine Optimization&#xff09;是指通過對網站進行優化&#xff0c;提高其在搜索引擎中的排名&#xff0c;從而增加有機流量和改善用戶體驗的一系列技術和方法。 進行SEO優化可以幫助網站獲得更多的有機搜索流量&#xff0c;并提升網站的曝光度和可見…

Fiddler抓包模擬器(雷電模擬器)

Fiddler設置 List item 打開fiddler,的options 點擊OK,重啟fiddler 模擬器 更改網絡設置 IP可以在電腦上終端上查看 然后在模擬器瀏覽器中輸入IP:端口 安裝證書

ssl什么是公鑰和私鑰?

公鑰&#xff08;Public Key&#xff09;與私鑰&#xff08;Private Key&#xff09;是通過加密算法得到的一個密鑰對&#xff08;即一個公鑰和一個私鑰&#xff0c;也就是非對稱加密方式&#xff09;。公鑰可對會話進行加密、驗證數字簽名&#xff0c;只有使用對應的私鑰才能解…

K8s 入門指南(一):單節點集群環境搭建

前言 官方文檔&#xff1a;Kubernetes 文檔 | Kubernetes 系統配置 CentOS 7.9&#xff08;2 核 2 G&#xff09; 本文為 k8s 入門指南專欄&#xff0c;將會使用 kubeadm 搭建單節點 k8s 集群&#xff0c;詳細講解環境搭建部署的細節&#xff0c;專欄后面章節會以實戰代碼介紹…

P1001 A+B Problem題解

對于編程語言語法的學習最好的辦法就是在題目中學習&#xff0c;現在來開啟我們的學習之旅。 題目 輸入兩個整數a,b&#xff0c;輸出它們的和&#xff08;∣a∣,∣b∣≤109&#xff09;。 輸入輸出樣例 輸入 20 30 輸出 50 代碼 #include<iostream> using names…

點擊登錄按鈕二次才跳轉到首頁

1.問題描述 點擊登錄按鈕&#xff0c;調取接口,成功后獲取數據并跳轉到首頁&#xff0c;都沒有問題&#xff0c;也沒有報錯&#xff0c;就是點擊第一次不跳轉&#xff0c;第二次才能跳轉&#xff0c;這是代碼 this.$message({message: "登陸成功",type: "succ…

Vue3+ts----根據配置項,動態生成表單

這里使用的UI框架是ElementPlus&#xff0c;更換其他組件直接更換constant.ts中的type配置和對應的Form組件即可. 大家可以npm install elementplus_dy_form來體驗。 思路&#xff1a; 1.這里需要使用h函數方便控制要渲染的表單 2.傳遞type作為組件或html元素進行渲染&#xff…

PHP基礎 - 輸入輸出

在 PHP 中,有多種方法可以用來輸出內容。下面是其中的幾種: 1、echo: 這是最常見的輸出語句之一,可以輸出一個或多個字符串。它是一個語言結構,可以省略括號。使用示例如下: <?php // 使用 echo 語句輸出一個字符串 echo "Hello, world!\n";// 可以使用…

虛擬儀器的外部接口設計

虛擬儀器的外部接口設計需要考慮多個因素。以下是一些可能涉及的方面&#xff1a; 接口類型&#xff1a;根據實際需要&#xff0c;選擇不同類型的接口。例如&#xff0c;計算機內部插卡式接口有isa接口和pci接口&#xff0c;適用于中小型測試系統。計算機外部通用總線接口有增…

P1035 [NOIP2002 普及組] 級數求和題解

題目 已知&#xff1a;.顯然對于任意一個整數 k&#xff0c;當 n 足夠大的時候,Sn?>k。 現給出一個整數k&#xff0c;要求計算出一個最小的n&#xff0c;使得Sn?>k。 輸入輸出樣例 輸入 1 輸出 2 代碼 #include<iostream> using namespace std; int mai…

周周愛學習之Redis重點總結

redis重點總結 在正常的業務流程中&#xff0c;用戶發送請求&#xff0c;然后到緩存中查詢數據。如果緩存中不存在數據的話&#xff0c;就會去數據庫查詢數據。數據庫中有的話&#xff0c;就會更新緩存然后返回數據&#xff0c;數據庫中也沒有的話就會給用戶返回一個空。 1.緩…

AIGC創作系統ChatGPT網站源碼,Midjourney繪畫,GPT聯網提問/即將支持TSS語音對話功能

一、AI創作系統 SparkAi創作系統是基于ChatGPT進行開發的Ai智能問答系統和Midjourney繪畫系統&#xff0c;支持OpenAI-GPT全模型國內AI全模型。本期針對源碼系統整體測試下來非常完美&#xff0c;可以說SparkAi是目前國內一款的ChatGPT對接OpenAI軟件系統。那么如何搭建部署AI…

leetcode 面試題 02.02. 返回倒數第k個節點

提建議就是&#xff0c;有些題還是有聯系的&#xff0c;建議就收看完 876.鏈表的中間節點&#xff08;http://t.csdnimg.cn/7axLa&#xff09;&#xff0c;再將這一題聯系起來 面試題 02.02. 返回倒數第k個節點 題目&#xff1a; 實現一種算法&#xff0c;找出單向鏈表中倒數第…