docker 運行自定義化的服務-后端

docker 運行自定義化的服務-前端-CSDN博客

運行自定義化的后端服務

具體如下:

①打包后端項目,形成jar包

②編寫dockerfile文件,文件內容如下:

# 使用官方 OpenJDK 鏡像
FROM jdk8:1.8LABEL maintainer="ATB" version="1.0" description="Docker image for ruoyi-admin Spring Boot application"# 創建目錄(logs、上傳目錄等)
RUN mkdir -p /home/soft/app/serverapp/logs /home/soft/app/serverapp/uploadPath# 設置工作目錄
WORKDIR /home/soft/app/serverapp# 拷貝 Spring Boot jar 包和 config 配置(可選)
COPY ./jar/ruoyi-admin.jar ./ruoyi-admin.jar
COPY ./jar/config ./config# 日志持久化掛載點(建議在運行時掛載)
VOLUME ["/home/soft/app/serverapp/logs", "/home/soft/app/serverapp/uploadPath"]# 暴露 Spring Boot 服務端口(比如 8282)
EXPOSE 8282# 健康檢查(可選)
HEALTHCHECK --interval=30s --timeout=5s --retries=3 \CMD wget --no-verbose --tries=1 --spider http://localhost:8282/actuator/health || exit 1# 啟動服務(如果使用 config 文件夾,需要指定位置)
ENTRYPOINT ["java", "-jar", "./ruoyi-admin.jar", "--spring.config.location=classpath:/,file:./config/"]

最后把后端服務jar包、dockerfile、config(config配置文件夾,可選)放到一個文件夾serverapp中

結果如下:

├── jar/
│ ? ├── ruoyi-admin.jar
│ ? └── config/ ? ? ? ? ? ? ? ? # 可選:Spring Boot 外部化配置
│ ? ? ? ├── application.yml
│ ? ? ? └── ...
├── Dockerfile
?

?上傳到服務器中

構建docker鏡像:docker build -t 容器名:版本號 .

docker build -t my-serverapp:1.0 .

運行容器:

docker run -d ?-p 8282:8282 ?--name ryserverapp ?my-serverapp:1.0

可選添加 -it :docker run -it -d -p 8282:8282 my-serverapp:1.0
運行容器(可選掛載日志)推薦

docker run -d ?--name ruoyi-backend ?-p 8282:8282 ?-v /home/soft/app/serverapp/logs:/home/soft/app/serverapp/logs ?-v /home/soft/app/serverapp/uploadPath:/home/soft/app/serverapp/uploadPath ?my-serverapp:1.0

docker run -d \
? --name ryserverapp \
? -p 8282:8282 \
? -v /home/soft/app/serverapp/logs:/home/soft/app/serverapp/logs \
? -v /home/soft/app/serverapp/uploadPath:/home/soft/app/serverapp/uploadPath \
? my-serverapp:1.0

運行容器一些參數說明:

-d:后臺運行容器,并返回容器ID。
-p:指定端口映射,格式為:主機(宿主)端口:容器端口。
-i:以交互模式運行容器,通常與 -t 同時使用。
-t:為容器重新分配一個偽輸入終端,通常與 -i 同時使用。
--name:為容器指定一個名稱。
-e:設置環境變量。
-v:綁定一個卷。?

然后就可以正常訪問了

查看容器運行日志:docker logs 容器ID

docker logs fca4bb2c4e02(容器ID)


其他命令內容:

停止所有運行中的容器

docker stop $(docker ps -q)

其中,docker ps -q 會生成所有運行中容器的 ID 列表,docker stop 會停止這些容器

要刪除所有容器

docker rm $(docker ps -aq)

其中,docker ps -aq 會生成所有容器的 ID 列表,docker rm 會刪除這些容器

同時停用并刪除所有容器

docker stop $(docker ps -q) && docker rm $(docker ps -aq)

該命令首先停止所有運行中的容器,然后刪除所有容器

docker stop $(docker ps -a -q)

該命令會遍歷所有容器,并使用它們的ID(以q參數的格式)來停止。使用-a參數確保包括所有狀態的容器。


其他docker相關:

Docker 相關內容記錄-CSDN博客

銀河麒麟國產化系統(或者是Linux)一鍵安裝docker和docker-compose_銀河麒麟安裝docker compose-CSDN博客

docker 環境下運行部署相關內容-CSDN博客?

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

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

相關文章

解決java使用easyexcel填充模版后,高度不一致問題

自定義工具,可以通過獲取上一行行高設置后面所以行的高度 package org.springblade.modules.api.utils;import com.alibaba.excel.write.handler.RowWriteHandler; import com.alibaba.excel.write.metadata.holder.WriteSheetHolder; import com.alibaba.excel.wr…

repo倉庫文件清理

1. repo 倉庫內文件清理 # 清理所有Git倉庫中的項目 repo forall -c git clean -dfx # 重置所有Git 倉庫中的項目 repo forall -c git reset --hard 解釋: repo forall -c git clean -dfx: repo forall 是一個用于在所有項目中執行命令的工具。-c 后…

結合大語言模型整理敘述并生成思維導圖的思路

楔子 我比較喜歡長篇大論。這在代理律師界被視為一種禁忌。 我高中一年級的時候因為入學成績好(所在縣榜眼名次),直接被所在班的班主任任命為班長。我其實不喜歡這個崗位。因為老師一來就要提前注意到,要及時喊“起立”、英語課…

spark-core編程2

Key-Value類型: foldByKey 當分區內計算規則和分區間計算規則相同時,aggregateByKey 就可以簡化為 foldByKey combineByKey 最通用的對 key-value 型 rdd 進行聚集操作的聚集函數(aggregation function)。類似于aggregate()&…

原理圖設計準備:頁面柵格模板應用設置

一、頁面大小的設置 (1)單頁原理圖頁面設置 首先,選中需要更改頁面尺寸的那一頁原理圖,鼠標右鍵,選擇“Schmatic Page Properties”選項,進行頁面大小設置。 (2)對整個原理圖頁面設…

關于異步消息隊列的詳細解析,涵蓋JMS模式對比、常用組件分析、Spring Boot集成示例及總結

以下是關于異步消息隊列的詳細解析,涵蓋JMS模式對比、常用組件分析、Spring Boot集成示例及總結: 一、異步消息核心概念與JMS模式對比 1. 異步消息核心組件 組件作用生產者發送消息到消息代理(如RabbitMQ、Kafka)。消息代理中間…

【深度洞察】解碼飲料行業破局點:場景革命

當東鵬特飲以 “大瓶裝 防塵蓋” 精準解決貨車司機的場景化需求,當農夫山泉通過 “冷藏版東方樹葉” 打開年輕白領的早餐場景 —— 這些現象級案例背后,是飲料行業底層邏輯的深刻變革:真正的市場增量,藏在對消費場景的極致拆解中…

二、TorchRec中的分片

TorchRec中的分片 文章目錄 TorchRec中的分片前言一、Planner二、EmbeddingTable 的分片TorchRec 中所有可用的分片類型列表 三、使用 TorchRec 分片模塊進行分布式訓練TorchRec 在三個主要階段處理此問題 四、DistributedModelParallel(分布式模型并行)…

如何在 Spring Boot 項目中使用 MyBatis 進行批量操作以提升性能?

MyBatis 提供了 ExecutorType.BATCH 類型,允許將多個 SQL 語句進行組合,最后統一執行,從而減少數據庫的訪問頻率,提升性能。 以下是如何在 Spring Boot 項目中使用 MyBatis 進行批量操作的關鍵點: 1. 配置 MyBatis 使…

Redis 字符串(String)詳解

1. 什么是字符串類型 在 Redis 中,字符串(String) 是最基本的數據類型。它可以包含任何數據,比如文本、JSON、甚至二進制數據(如圖片的 Base64 編碼),最大長度為 512 MB。 字符串在 Redis 中不…

Elasticsearch 系列專題 - 第四篇:聚合分析

聚合(Aggregation)是 Elasticsearch 的強大功能之一,允許你對數據進行分組、統計和分析。本篇將從基礎到高級逐步講解聚合的使用,并結合實際案例展示其應用。 1. 聚合基礎 1.1 什么是聚合(Aggregation)? 聚合是對文檔集合的統計分析,類似于 SQL 中的 GROUP BY 和聚合…

YOLO學習筆記 | YOLOv8 全流程訓練步驟詳解(2025年4月更新)

===================================================== github:https://github.com/MichaelBeechan CSDN:https://blog.csdn.net/u011344545 ===================================================== 這里寫自定義目錄標題 一、數據準備1. 數據標注與格式轉換2. 配置文件生…

context上下文(一)

創建一個基礎的context 使用BackGround函數,BackGround函數原型如下: func Background() Context {return backgroundCtx{} } 作用:Background 函數用于創建一個空的 context.Context 對象。 context.Background() 函數用于獲取一個空的 cont…

Java中常見的設計模式

Java中常見的設計模式 Java 中有 23 種經典設計模式,通常被分為三大類:創建型、結構型和行為型。每個設計模式都解決了不同類型的設計問題。以下是幾種常見設計模式的總結,并附帶了實際應用場景、示例代碼和詳細的注釋說明。 一、創建型設計…

責任鏈設計模式(單例+多例)

目錄 1. 單例責任鏈 2. 多例責任鏈 核心區別對比 實際應用場景 單例實現 多例實現 初始化 初始化責任鏈 執行測試方法 歡迎關注我的博客!26屆java選手,一起加油💘💦👨?🎓😄😂 最近在…

springboot 處理編碼的格式為opus的音頻數據解決方案【java8】

opus編碼的格式概念: Opus是一個有損聲音編碼的格式,由Xiph.Org基金會開發,之后由IETF(互聯網工程任務組)進行標準化,目標是希望用單一格式包含聲音和語音,取代Speex和Vorbis,且適用…

vue項目引入tailwindcss

vue3項目引入tailwindcss vue3 vite tailwindcss3 版本 初始化項目 npm create vitelatest --template vue cd vue npm install npm run dev安裝tailwindcss3 和 postcss 引入 npm install -D tailwindcss3 postcss autoprefixer // 初始化引用 npx tailwindcss init -p…

Google ADK(Agent Development Kit)簡要示例說明

一、環境準備與依賴安裝 1.1 系統 硬件: GPU NVIDIA 3070加速模型推理,內存64GB軟件: Python 3.11Docker 28.04(用于容器化部署)Kubernetes 1.25(可選,用于集群管理) 1.2 安裝 A…

批量給文件編排序號,支持數字序號及時間日期序號編排文件

當我們需要對文件進行編號的時候,我們可以通過這個工具來幫我們完成,它可以支持從 001 到 100 甚至更多的數字序號編號。也可以支持按照日期、時間等方式對文件進行編號操作。這是一種操作簡單,處理起來也非常的高效文件編排序號的方法。 工作…

【系統架構】AI時代下,系統架構師如何修煉

在AI時代,系統架構師的角色正經歷深刻變革,需在技術深度、工具應用與思維模式上全面升級。以下結合行業趨勢與實踐建議,總結系統架構師的修煉路徑: 一、掌握AI工具,重構工作流 自動化文檔與設計 利用生成式AI(如DeepSeek、ChatGPT)完成70%的需求文檔、接口設計及架構圖生…