Docker 部署Spring boot + Vue(若依为例)
首先我们要在docker中安装好环境镜像
jdk. mysql. redis. nginx 镜像安装我们在上一篇文章中已说明,请大家自行查看。
下面我介绍部署步骤
- 部署后台jar
在你的工作目录下新建application 用来存放后台jar包
1.将打好的jar包上传
2.编写Dockerfile文件,上传到jar同目录
#Dockerfile
#指定镜像
FROM openjdk:8 #后续指定工作目录
WORKDIR /app
#添加JAR文件到容器中
COPY ruoyi-admin.jar ./application.jar
#设置环境变量
ENV TZ Asia/Shanghai
ENV JAVA_OPS -Duser.timezone=Asia/Shanghai
#运行端口
EXPOSE 8090
#启动命令
ENTRYPOINT ["java","-Dfile.encoding=utf-8","-D-Xms2g -Xmx2g","-Dserver.port=8090","-Dspring.profiles.active=druid","-Djava.security.egd=file:/dev/./urandom","-jar","./application.jar"]

- 部署Vue前台
在上篇文章中,我们已经将nginx的html目录和config目录挂载到了我们新建的工作目录/usr/local/workspace/nginx下
1.将我们前台打的dist下的文件上传到/usr/local/workspace/nginx/html目录下
2.编辑我们/usr/local/workspace/nginx/conf下的nginx.conf文件,配置内容如下
user nginx;
worker_processes auto;error_log /var/log/nginx/error.log notice;
pid /var/run/nginx.pid;events {worker_connections 1024;
}http {include mime.types;default_type application/octet-stream;sendfile on;keepalive_timeout 65;server {listen 80;server_name localhost;location / {root /usr/share/nginx/html;try_files $uri $uri/ /index.html last; index index.html index.htm;}#跨域配置location /prod-api/{proxy_pass http://172.31.3.64:8090;}error_page 500 502 503 504 /50x.html;location = /50x.html {root html;}}
}
- 编辑docker-compose.yml文件
version: "3.3"
services:redis:image: redisrestart: alwaysports:- "6379:6379"volumes:- ./redis/redis.conf:/etc/redis/redis.conf- ./redis/data:/datacommand: redis-server /etc/redis/redis.conf nginx:# 镜像名 如果需要指定版本 就把 latest 换成版本号image: nginx:1.25 # 容器名container_name: nginx-web# 重启策略restart: always# 端口映射#network_mode: hostports:- 80:80volumes:- ./nginx/conf/nginx.conf:/etc/nginx/nginx.conf- ./nginx/html:/usr/share/nginx/html- ./nginx/log:/var/log/nginx # 将Nginx的日志目录挂载到宿主机privileged: true # 这个必须要,解决nginx的文件调用的权限问题api:build: ./applicationports:- '8090:8090'container_name: ruoyi-apirestart: alwaysvolumes:- ./logs:/opt/logs
关于Dockerfile和Docker Compose的详细内容大家可以到菜鸟教程学习
安装部署中出现的错误:
1.502没有权限,并且加载不出验证码
这个是nginx配置代理的问题,大家就仔细检查一下,nginx.conf配置文件就行,我是没有添加图里我框住的内容,加上就行了

2.加上配置后,又报了一个404,还是没有显示验证码
404就是请求路径不对
我这里的原因是我前台vue打的是prod 的包,后台jar包我直接用的若依的配置文件打的包,默认没有项目前缀,所有一直报404,加上前缀就好了

浏览器测试

相关文章:
Docker 部署Spring boot + Vue(若依为例)
首先我们要在docker中安装好环境镜像 jdk. mysql. redis. nginx 镜像安装我们在上一篇文章中已说明,请大家自行查看。 下面我介绍部署步骤 部署后台jar 在你的工作目录下新建application 用来存放后台jar包 1.将打好的jar包上传 2.编写Dockerfile文件&#…...
PDF文件里到底有什么?
PDF 文档结构由多个组件组成,这些组件决定了文本、图像和其他元素的存储和显示方式。PDF 是一种二进制文件格式,这意味着您无法在文本编辑器中直接编辑 PDF 文件。添加或删除一个字符都可能导致整个文件损坏! PDF 文件结构 理解 PDF 文档结…...
FANUC机器人几种常用的通讯网络及接口
FANUC机器人几种常用的通讯网络及接口 Devicenet 网络通讯接口,接口为5针线 (规定用的机架为 81-84) PROFIBUS 网络通讯接口,针脚为2针(规定用的机架为 67) Intemet 网络通讯接口(常用的网线接口…...
实用插件分享:@plugin-web-update-notification/vite 的使用指南
实用插件分享:plugin-web-update-notification/vite 的使用指南 在前端开发的过程中,及时告知用户网页有更新是提升用户体验的一个重要方面。plugin-web-update-notification/vite 就是一款能够轻松实现网页更新通知功能的插件,下面就来详细…...
k8s 修改节点驱逐阈值
编辑 /var/lib/kubelet/config.yaml 文件 kind: KubeletConfiguration evictionHard:nodefs.available: "5%" # 降低磁盘压力触发阈值imagefs.available: "10%" # 调整容器镜像存储触发阈值nodefs.inodesFree: "3%...
IEC61850标准下MMS 缓存报告控制块 ResvTms详细解析
IEC61850标准是电力系统自动化领域唯一的全球通用标准。IEC61850通过标准的实现,使得智能变电站的工程实施变得规范、统一和透明,这大大提高了变电站自动化系统的技术水平和安全稳定运行水平。 在 IEC61850 标准体系中,ResvTms(r…...
解数独 (leetcode 37
leetcode系列 文章目录 一、核心操作二、外层配合操作三、核心模式代码总结 使用二维递归,不管在哪一层都对矩阵进行全部遍历 一、核心操作 建立判断是否有效函数,对 i j 位置是否能放入k进行判断,由于此时还没有放置k,则可以直…...
人工智能与人的智能,思维模型分享【2】沉没成本
**沉没成本(Sunk Cost)** 是指已经发生且无法收回的成本(时间、金钱、精力等)。沉没成本思维模型的核心原则是:理性决策应基于未来可能的收益与成本,而非被已经无法改变的历史投入所影响。陷入沉没成本陷阱…...
Redis 部署方式有哪些
以下是 Redis 主从复制和分布式部署的详细方法和步骤: 1.Redis 主从复制部署 架构 主从复制是 Redis 最基本的分布式机制,通过将数据从主节点(Master)复制到多个从节点(Slave),实现读写分离和数…...
艾尔登复刻Ep1——客户端制作、场景切换、网络控制
需要添加的插件内容 Netcode for GameObjects:是一个为 Unity 游戏开发提供高级网络功能的 SDK。它的主要作用是允许开发者在其 GameObject 和 MonoBehaviour 工作流中集成网络功能,并且可以与多种底层传输层协议兼容。 具体内容请看:https:…...
【视频】ffmpeg、Nginx搭建RTMP、HLS服务器
1、源码安装Nginx 1)源码下载 因为要使用Nginx的模块nginx-rtmp-module,所以要下载 nginx 和 nginx-rtmp-module 的源码。 下载地址: http://nginx.org/en/download.html https://github.com/arut/nginx-rtmp-module/tags2)解压、配置 在同一个目录中解压 nginx 和 nginx…...
基于YOLO11深度学习的遥感视角地面房屋建筑检测分割与分析系统【python源码+Pyqt5界面+数据集+训练代码】深度学习实战、目标分割、人工智能
《------往期经典推荐------》 一、AI应用软件开发实战专栏【链接】 项目名称项目名称1.【人脸识别与管理系统开发】2.【车牌识别与自动收费管理系统开发】3.【手势识别系统开发】4.【人脸面部活体检测系统开发】5.【图片风格快速迁移软件开发】6.【人脸表表情识别系统】7.【…...
Java中常见的PO、VO、DAO、BO、DO、DTO、POJO、Query类解释(通俗易懂)
文章目录 先点击收藏和点赞,切勿白嫖,感谢一丶PO(persistant object)持久对象二丶VO(value object)值对象三丶DAO(Data Access Objects) 数据访问对象接口四丶BO/DO(Business Object) 业务对象层五丶DTO(Data Transfer Object) 数据传输对象六丶POJO(Plain Old Java Objects) 简…...
完美解决ElementUI中树形结构table勾选问题
完美解决ElementUI中树形结构table勾选问题 实现功能效果图全选取消全选取消父节点取消某个子节点 关键代码 实现功能 1. 全选/取消全选,更新所有节点勾选状态 2. 勾选父/子节点,子/父节点状态和全选框状态更新 效果图 全选 取消全选 取消父节点 取消某…...
laravel项目中使用FFMPeg 剪裁视频
# 运行环境需安装的软件 ffmpeg # 安装的扩展 pbmedia/laravel-ffmpeg: ^8.3 # 扩展文档 https://packagist.org/packages/pbmedia/laravel-ffmpeg # 引入的类 use FFMpeg\Coordinate\TimeCode; use FFMpeg\Format\Video\X264; use FFMpeg\Exception\RuntimeException; use …...
docker基本应用和相关指令
文章目录 概要镜像管理容器操作网络管理数据卷管理其他常用指令典型场景示例小结 概要 Docker的命令通常分为几个大类,比如镜像管理(images)、容器管理(containers)、网络(network)、数据卷&…...
文件解析漏洞靶场集锦详解
一、IIS解析漏洞 环境安装:windows2003iis6 1.目录解析 .asp文件夹中的任意文件都会被当做asp文件去执行 1.在iis6的网站根目录新建⼀个名为1.asp的文件 2. 在1.asp中新建⼀个jpg文件。内容为 <%now()%>asp代码 3.在外部浏览器中访问iis⽹站中的1.jpg 发现…...
基于Java + Redis + RocketMQ的库存秒杀系统设计与实现
一、秒杀场景核心挑战 瞬时高并发:万级QPS访问压力 库存准确性:避免超卖/少卖 系统可用性:防止雪崩效应 数据一致性:缓存与数据库同步 二、技术架构设计 1. 分层架构设计 用户请求│▼ 接入层(Nginx限流 令牌拦…...
hcia华为路由器静态路由实验配置
目录 一、网络拓扑分析 二、华为路由器配置(分设备) 1. R1 配置 2. R2 配置 3. R3 配置 三、验证测试 拓扑图 一、网络拓扑分析 IP 地址规划: R1:E0/0/0(12.1.1.1/24)、E0/0/1(192.168.1.…...
C语言【数据结构】:理解什么是数据结构和算法(启航)
引言 启航篇,理解什么是数据结构和算法 在 C 语言编程领域,数据结构和算法是两个核心且紧密相关的概念 一、数据结构 定义 数据结构是指相互之间存在一种或多种特定关系的数据元素的集合(比如数组),它是组织和存储数…...
Redis7——进阶篇(五)
前言:此篇文章系本人学习过程中记录下来的笔记,里面难免会有不少欠缺的地方,诚心期待大家多多给予指教。 基础篇: Redis(一)Redis(二)Redis(三)Redis&#x…...
手写svm primal form形式
svm.py import numpy as npclass SVM:def __init__(self,C1.0,lr0.01,batch_size32,epochs100):self.CCself.lrlrself.batch_sizebatch_sizeself.epochsepochsself.wNoneself.b0.0self.epoch0#计算最高得分和对应w,bdef fit(self,X,y,X_valNone,y_valNone):sample,…...
Linux中Firewall防火墙操作
一、安装Firewall命令 yum install firewalld firewalld-config二、防火墙的基本操作 1、查看防火墙状态 使用systemctl status firewalld命令可以查看firewalld服务的状态。也可以使用firewall-cmd --state命令直接查看防火墙的状态。 2、开启防火墙 * 临时性开启&…...
【MySQL】MySQL服务器——mysqld
1.MySQL服务器 是名为 mysqld 的数据库服务器程序,和“主机”(host)不一样是一个多线程的单进程管理对磁盘和内存中数据库的访问支持并发的客户端连接支持多个存储引擎,常见的存储引擎包括InnoDB、MyISAM、Memory、Archive支持事…...
VBA+FreePic2Pdf 找出没有放入PDF组合的单个PDF工艺文件
设计部门针对某个项目做了一个工艺汇总报告,原先只要几十个工艺文件,组合成一个PDF,但后来要求要多放点PDF进去,但工艺文件都混在一起又不知道哪些是重复的,找上我让我帮忙处理一下,我开始建议让她重新再组…...
windows 下用docker 部署nginx
简单版本记录,详细内容后续再写 一、拉取nginx镜像,运行 docker pull nginx 二、创建项目目录 C:\nginx-docker\ ├── html\ │ └── index.html └── conf | └── nginx.conf// index.html<!DOCTYPE html> <html> <head&g…...
云原生性能测试全解析:如何构建高效稳定的现代应用?
一、引言 随着云计算技术的快速发展,云原生(Cloud Native)架构成为现代应用开发的主流模式。云原生应用通常采用微服务架构、容器化部署,并利用 Kubernetes(K8s)等编排工具进行管理。然而,云原…...
计网面试准备
正确理解网络数据传输过程 同一路由器的不同接口属于不同局域网,广播只能在同一个局域网...
【数据分享】1999—2023年我国地级市社会消费品零售总额和年末金融机构存贷款余额(Shp/Excel格式)
在之前的文章中,我们分享过基于2000-2024年《中国城市统计年鉴》整理的1999-2023年地级市的人口相关数据、染物排放和环境治理相关数据和房地产投资情况和商品房销售面积相关指标数据(均可查看之前的文章获悉详情)! 本次我们分享…...
鸿蒙开发者社区资源的重要性
鸿蒙系统,作为华为公司自主研发的操作系统,旨在为各类智能设备提供统一的平台。它不仅支持手机、平板电脑等移动设备,还涵盖了物联网(IoT)设备和其他智能家居产品。鸿蒙系统的开发环境和工具链对于开发者来说至关重要&…...
