docker 运行自定义化的服务-后端

news2025/4/12 16:56:04

docker 运行自定义化的服务-前端-CSDN博客

运行自定义化的后端服务

具体如下:

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

②编写dockerfile文件,文件内容如下:

# 使用官方 OpenJDK 镜像
FROM jdk8:1.8

LABEL 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.coloradmin.cn/o/2333241.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

NO.82十六届蓝桥杯备战|动态规划-从记忆化搜索到动态规划|下楼梯|数字三角形(C++)

记忆化搜索 在搜索的过程中,如果搜索树中有很多重复的结点,此时可以通过⼀个"备忘录",记录第⼀次搜索到的结果。当下⼀次搜索到这个结点时,直接在"备忘录"⾥⾯找结果。其中,搜索树中的⼀个⼀个结点…

【时时三省】(C语言基础)用switch语句实现多分支选择结构 例题

山不在高,有仙则名。水不在深,有龙则灵。 ----CSDN 时时三省 例题: 用switch语句处理菜单命令。在许多应用程序中,用菜单对流程进行控制,例如从键盘输入一个 A 或 a 字符,就会执行A操作,输入一…

全域数字化:从“智慧城市”到“数字生命体”的进化之路

一、国家战略下的城市数字化浪潮 2024年5月,国家四部委联合发布《关于深化智慧城市发展 推进城市全域数字化转型的指导意见》,明确提出以数据为引擎,系统性重塑城市技术架构与管理流程,推动城市治理迈向“全域协同、数实融合”的…

基于SSM的线上花店鲜花销售商城网站系统

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏:…

DAPP实战篇:使用web3.js连接合约

说明 本系列内容目录:专栏:区块链入门到放弃查看目录 如果你还没有创建好项目请先查看:《DApp实战篇:先用前端起个项目》,如果你还不知道web3.js是什么请先查看:《DApp实战篇:前端技术栈一览》。 安装 点此查看web3.js官方文档 打开项目根目录,并唤起终端: 键入w…

K8S-证书过期更新

K8S证书过期问题 K8S证书过期处理方法 Unable to connect to the server: x509: certificate has expired or is not yet valid 1、查看证书有效期: # kubeadm certs check-expiration2、备份证书 # cp -rp /etc/kubernetes /etc/kubernetes.bak3、直接重建证书 …

蓝桥杯第十五届真题——握手问题

#include<bits/stdc.h> using namespace std; int main() {ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);int sum0;for(int i7;i<49;i){sumi;}cout<<sum;return 0; }

5G_WiFi_CE_DFS

目录 一、规范要求 1、法规目录 2、定义 3、运行模式 4、主/从设备相关的运行行为及具体的动态频率选择&#xff08;DFS&#xff09;要求 5、产品角色确定测试项目 6、测试项目 测试项1&#xff1a;信道可用性检查&#xff08;Channel Availability Check&#xff09; …

springboot 处理编码的格式为opus的音频数据解决方案【java8】

opus编码的格式概念&#xff1a; Opus是一个有损声音编码的格式&#xff0c;由Xiph.Org基金会开发&#xff0c;之后由IETF&#xff08;互联网工程任务组&#xff09;进行标准化&#xff0c;目标是希望用单一格式包含声音和语音&#xff0c;取代Speex和Vorbis&#xff0c;且适用…

RK3568 基于Gstreamer的多媒体调试记录

文章目录 1、环境介绍2、概念理清3、提前准备4、GStreamer编译5、GStreamer基础介绍6、视频播放初体验7、视频硬编码7.1、h2647.2、h265 8、视频硬解码8.1、解码视频并播放8.2、解码视频并播放带音频 1、环境介绍 硬件&#xff1a;飞凌ok3568-c开发板 软件&#xff1a;原厂rk…

VS Code 的 .S 汇编文件里面的注释不显示绿色

1. 确认文件语言模式 打开 .S 文件后&#xff0c;查看 VS Code 右下角的状态栏&#xff0c;确认当前文件的识别模式&#xff08;如 Assembly、Plain Text 等&#xff09;。如果显示为 Plain Text 或其他非汇编模式&#xff1a; 点击状态栏中的语言模式&#xff08;如 Plain Te…

5分钟读懂ArgoCD:在Kubernetes中实现持续部署

Kubernetes中的Argo CD介绍 Argo CD是用于Kubernetes的声明式GitOps持续交付工具。它遵循GitOps模式&#xff0c;以Git仓库作为定义所需应用程序状态的唯一真实来源&#xff0c;能在指定的目标环境中自动部署应用程序&#xff0c;并持续监控应用程序的运行状态&#xff0c;确保…

cs224w课程学习笔记-第10课

cs224w课程学习笔记-第10课 异构图 前言一、异构图1、异构图定义2、异构图与同构图 二、异构图下的GNN1、GCN扩展至RGCN1.1 RGCN原理1.2 异构图的任务预测特点1.3 异构图任务预测基础案例 2、完整的异构图GCN三、异构图下的Transformer 前言 异构图的定义是节点内部存在类型不…

OpenCV 图形API(26)图像滤波-----方框滤波函数boxFilter()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 使用方框滤波器模糊图像。 该函数使用以下内核来平滑图像&#xff1a; K α [ 1 1 … 1 1 1 … 1 ⋮ ⋮ ⋱ ⋮ 1 1 … 1 ] K \alpha \begin{b…

大模型上下文协议MCP详解(2)—核心功能

版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl1. 标准化上下文交互技术 1.1 实时数据接入能力 MCP(Model Context Protocol)通过标准化的接口,为 AI 模型提供了强大的实时数据接入能力,使其能够快速获取和处理来自不同数据源的实时信息。…

剑指Offer(数据结构与算法面试题精讲)C++版——day8

剑指Offer&#xff08;数据结构与算法面试题精讲&#xff09;C版——day8 题目一&#xff1a;链表中环的入口节点题目二&#xff1a;两个链表的第1个重合节点题目三&#xff1a;反转链表附录&#xff1a;源码gitee仓库 题目一&#xff1a;链表中环的入口节点 这道题的有如下三个…

【Qt】QxOrm:下载、安装、使用

1、下载源码 github地址:https://github.com/QxOrm/QxOrm 稳定版本下载:https://github.com/QxOrm/QxOrm/releases/tag/1.5.0 2、编译源码 QxOrm支持cmake编译(CMakeLists.txt)、Qt pro工程编译(QxOrm.pro) 以 QxOrm.pro 为例,编译生成的库,没有在 build-QxOrm-1.5…

CISCO组建RIP V2路由网络

1.实验准备&#xff1a; 2.具体配置&#xff1a; 2.1根据分配好的IP地址配置静态IP&#xff1a; 2.1.1PC配置&#xff1a; PC0&#xff1a; PC1&#xff1a; PC2&#xff1a; 2.1.2路由器配置&#xff1a; R0&#xff1a; Router>en Router#conf t Enter configuration…

【数学建模】(智能优化算法)鲸鱼优化算法(Whale Optimization Algorithm)详解与应用

鲸鱼优化算法(Whale Optimization Algorithm)详解与应用 文章目录 鲸鱼优化算法(Whale Optimization Algorithm)详解与应用1. 引言2. 算法原理2.1 生物学基础2.2 数学模型[^3]1. 包围猎物阶段2. 气泡网攻击&#xff08;螺旋更新&#xff09;3. 随机搜索猎物&#xff08;全局探索…

【深度洞察】解码饮料行业破局点:场景革命

当东鹏特饮以 “大瓶装 防尘盖” 精准解决货车司机的场景化需求&#xff0c;当农夫山泉通过 “冷藏版东方树叶” 打开年轻白领的早餐场景 —— 这些现象级案例背后&#xff0c;是饮料行业底层逻辑的深刻变革&#xff1a;真正的市场增量&#xff0c;藏在对消费场景的极致拆解中…