Docker前后端项目部署
目录
一、搭建项目部署的局域网
二、redis安装
三、MySQL安装
四、若依后端项目搭建
4.1 使用Dockerfile自定义镜像
五、若依前端项目搭建
一、介绍前后端项目
一张图带你看懂ruoyi的前后端项目部署

得出结论:需要4台服务器,都处于同一个局域网中,方便操作
二、搭建项目部署的局域网
搭建net-ry局域网,用于部署若依项目
docker network create net-ry --subnet=172.68.0.0/16 --gateway=172.68.0.1# 注意1:关闭宿主机的防火墙,否者容器内部的MySQL、redis等服务,外部访问不了;开放端口3306、6379端口也没用。
systemctl status firewalld# 注意2:关闭防火墙后必须重启docker,否者出现如下错误
docker: Error response from daemon: driver failed programming external connectivity on endpoint ruoyi-admin (399a34630e6ef8e4ed7cf20d46b9654c8d535d0fe44ceadebf8bd605d3da35b8): (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 8080 -j DNAT --to-destination 172.68.0.4:8080 ! -i br-c34635070c6f: iptables: No chain/target/match by that name.

关闭防火墙
systemctl stop firewalld
关闭防火墙,一定要记得重启否则后面制作自定义镜像会报错
systemctl restart docker
三、redis安装
#创建目录
mkdir -p /data/redis/{conf,data}
#上传redis.conf文件到/data/redis/conf文件夹中
# bind 0.0.0.0 充许任何主机访问
# daemonize no
# requirepass sasa
把以下代码copy到/data/redis/conf下运行
#启动容器不进入容器,取了个名字zking-redis,映射了端口署主机6379端口映射到容器
#做了一个挂载,把我们署主机的redis配置文件,映射到容器内部的redis配置文件
#redis缓存数据,署主机的redis data 映射到容器redis data文件
#给予容器的root最高权限,docker引擎启动
#把zking 加入到net-ry局域网中
#容器会执行的一个命令,读取redis配置文件docker run -itd --name zking-redis -p 6379:6379 \
-v /data/redis/conf/redis.conf:/etc/redis/redis.conf \
-v /data/redis/data:/data \
--privileged=true --restart=always \
--network net-ry redis \
redis-server /etc/redis/redis.conf
四、MySQL安装
# 1.创建文件夹
mkdir -p /data/mysql/{conf,data}
# 2.上传my.cnf文件到/data/mysql/conf文件夹中 (可以将my2.cnf修改好在Linux中重命名为my.cnf)
mv my2.cnf my.cnf

# 3.启动MySQL容器服务
docker run -d --name zking-mysql --network net-ry \
-v /data/mysql/conf/my.cnf:/etc/my.cnf \
-v /data/mysql/data:/var/lib/mysql \
--privileged=true --restart=always \
-e MYSQL_ROOT_PASSWORD=sasa -p 3306:3306 \
mysql/mysql-server:5.7
进入容器
docker exec -it zking-mysql /bin/bash
登录
#登录
mysql -u root -p;
输入密码:
sasa
# 创建用户及授权
grant all privileges on *.* to root@'%' identified by 'sasa' with grant option;
# 刷新权限
flush privileges;

外部访问
#登录到控制台
mysql -u root -p
#执行sql
source sql文件全路径注意!:博主使用的是外部工具navicat,进行导入的数据
五、若依后端项目搭建
4.1 使用Dockerfile自定义镜像
1.构建Dockerfile镜像
1)切换到家目录
cd ~
2)创建目录
mkdir ruoyi-admin
3)切换到该路径
cd ruoyi-admin
上传jar文件

上传文件:Dockerfile_ruoyi-admin
2)编写Dockerfile文件内容
vim Dockerfile_ruoyi-admin #把以下代码放到Dockerfile_ruoyi-admin
FROM anapsix/alpine-java:8_server-jre_unlimited
MAINTAINER "donkee@vip.qq.com"
ADD ruoyi-admin.jar /opt/app.jar
EXPOSE 8080
ENTRYPOINT ["java","-jar","/opt/app.jar"]
3)上传ruoyi-admin.jar到Dockerfile_ruoyi-admin文件所在目录
4)ruoyi-admin为镜像名称,开始制作镜像
mv Dockerfile_ruoyi-admin Dockerfile
#构建镜像
docker build -t ruoyi-admin .

运行容器
docker run -itd --name ruoyi-admin --network net-ry -p 8080:8080 ruoyi-admin
可以去 cd /home/ruoyi/logs 查看我们的日志错误
我们去访问一下,看一下后端项目是否部署成功

六、若依前端项目搭建
5.1 nginx
1.创建目录
mkdir -p /data/nginx/{conf,html}
2.上传nginx.conf至/data/nginx/conf文件夹中

3.运行启动容器
docker run -itd --name zking-nginx --network net-ry -p 80:80 \
-v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /data/nginx/html:/usr/share/nginx/html \
--privileged=true --restart=always \
nginx
把我们前端项目放到,/data/nginx/html

解压
#没有解压工具 yum install -y unzip
unzip dist.zip
解压完后,我们去浏览器上登录,可以看到没有问题,今天就到这里啦!

相关文章:
Docker前后端项目部署
目录 一、搭建项目部署的局域网 二、redis安装 三、MySQL安装 四、若依后端项目搭建 4.1 使用Dockerfile自定义镜像 五、若依前端项目搭建 一、介绍前后端项目 一张图带你看懂ruoyi的前后端项目部署 得出结论:需要4台服务器,都处于同一个局域网中…...
如何快速的搭建一个小程序
要快速搭建一个小程序,你可以按照以下步骤进行: 明确目标和需求:在开始搭建小程序之前,首先明确你的小程序的主要功能、目标用户以及希望实现的业务需求。这将帮助你更好地规划和设计小程序。选择小程序平台:根据你的…...
STM32自学☞AD多通道
涉及到的硬件有:光敏传感器,热敏传感器,红外对射传感器,电位器 通过adc将他们采集的模拟信号转换为数值 ad.c文件 #include "stm32f10x.h" #include "stm32f10x_adc.h" #include "ad.h" #inc…...
微服务之商城系统
一、商城系统建立之前的一些配置 1、nacos Nacos是一个功能丰富的开源平台,用于配置管理、服务发现和注册、健康检查等,帮助构建和管理分布式系统。 在linux上安装nacos容器的命令: docker run --name nacos-standalone -e MODEstandalone …...
安卓玩机工具推荐----高通芯片9008端口读写分区 备份分区 恢复分区 制作线刷包 工具操作解析
上期解析了下adb端口备份分区的有关操作 安卓玩机工具推荐----ADB状态读写分区 备份分区 恢复分区 查看分区号 工具操作解析 在以往的博文中对于高通芯片机型的分区读写已经分享了很多。相关类似博文 安卓备份分区----手动查询安卓系统分区信息 导出系统分区的一些基本操作 …...
全量知识系统问题及SmartChat给出的答复 之16 币圈生态链和行为模式
Q.42 币圈生态链和行为模式 我认为,上面和“币”有关的一系列概念和技术,按设计模式的划分 ,整体应该都属于行为模式,而且应该囊括行为模式的所有各个方面。 而行为又可以按照三种不同的导向(以目的或用途为导向、过…...
【MOMO_Tips】批量将word转换为PDF格式
批量将word转换为PDF格式 1.打开文件–>选项–>自定义功能区–>开发工具–>确定 2.点开开发工具,选择第一个visual basic 3.进入页面后找到插入–>模块,就可以看到这样的画面之后将下列vba代码复制粘贴到模块中 Sub ConvertWordsToPd…...
【JSON2WEB】08 Amis的事件和校验
【JSON2WEB】01 WEB管理信息系统架构设计 【JSON2WEB】02 JSON2WEB初步UI设计 【JSON2WEB】03 go的模板包html/template的使用 【JSON2WEB】04 amis低代码前端框架介绍 【JSON2WEB】05 前端开发三件套 HTML CSS JavaScript 速成 【JSON2WEB】06 JSON2WEB前端框架搭建 【J…...
抖店类目报白什么意思?什么类目需要报白?这次给你讲明白!
我是电商珠珠 不少新手在选择类目的时候,有些类目却无法选择,系统显示需要报白才可以。那什么是报白?怎么报白?今天我就一次性给你们讲清楚。 抖店类目报白什么意思? 根据官方的说法,报白就是针对一些比…...
<C++>【继承篇】
✨前言✨ 🎓作者:【 教主 】 📜文章推荐: ☕博主水平有限,如有错误,恳请斧正。 📌机会总是留给有准备的人,越努力,越幸运! 💦导航助手…...
size_t 和double相乘怎么转换size_t
在C中,size_t和double可以直接相乘,结果会自动转换为double类型。如果你想要得到的结果是size_t类型,你需要进行显式类型转换。但是要注意,double转size_t可能会丢失小数部分,只保留整数部分。 以下是一个例子&#x…...
C# 的一些好用的语法糖介绍
C# 中有很多语法糖(Syntactic sugar),它们是一些语言特性,使得编写代码更加简洁、易读、更具表现力。 Lambda 表达式: Lambda 表达式允许你编写简洁的匿名函数。例如: Func<int, int, int> add (a…...
驱动开发面试复习
创建字符设备 1 创建设备号 alloc_chrdev_region 2.创建cdev cdev_init 3.添加一个 cdev,完成字符设备注册到内核 cdev_add 4.创建类 class_create 5.创建设备 device_create 1.内核空间与用户空间数据 copy_from_user 和copy_to_user 俩个函数来完成。 copy_from_user 函数…...
监测数据计算与换算:确保工程安全的关键步骤
在工程项目中,监测数据的计算与换算是一项至关重要的工作,它直接关系到工程的安全与稳定。本文将从确定基准值、数据计算与换算、异常值处理以及数据存储等方面,探讨监测数据计算与换算的主要工作内容。 添加图片注释,不超过 140 …...
Vue项目实战--空间论坛(1)
环境准备 安装好node.js,Vue后 添加插件 router---路由,多页面的应用 vuex---在多个组件之间维护同一个数据 添加依赖 bootstrap---美工 popperjs/core vue项目介绍 views-----对应vue文件,页面 router-----路由,页面,c…...
linux内核驱动——字符设备实现两个终端单向收发
linux内核驱动——字符设备实现两个终端单向收发 参考 Ubuntu18.04添加内核模块(字符设备) 创建内核驱动文件chat_dev.c: #include <linux/init.h> //定义了module_init #include <linux/module.h> //最基本的头文件&a…...
读取CSV数据并写入MySQL
import pandas as pd #import tushare as ts from sqlalchemy import create_engineimport baostock as bs #### 登陆系统 #### lg bs.login() # 显示登陆返回信息 print(login respond error_code:lg.error_code) print(login respond error_msg:lg.error_msg) #### 获取沪深…...
centos7.4下升级最新的ssh
一 安装telnet服务器 安装telnet服务器目的,防止我们升级失败的时候,可以通过telnet登录,而不至于上机房。 由于我们是临时启动,所以只要简单的使用,不要通过xinetd来进行守护。 命令如下: yum -y install …...
Java实现的双向链表示例
双向链表(Doubly Linked List)是一种链式数据结构,每个节点都包含两个指针,一个指向前一个节点,一个指向后一个节点。双向链表与单向链表相比,除了有前向指针外,还有一个额外的后向指针…...
生物电信号测量技术
引言 生物电信号是生物体内的电活动产生的电流或电压信号,它反映了生物体的生理状态和活动。生物电信号测量技术是一种用于记录和分析这些信号的方法,广泛应用于医学、生物学、神经科学等领域。本文将介绍几种常见的生物电信号测量技术,并讨…...
在rocky linux 9.5上在线安装 docker
前面是指南,后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...
大语言模型如何处理长文本?常用文本分割技术详解
为什么需要文本分割? 引言:为什么需要文本分割?一、基础文本分割方法1. 按段落分割(Paragraph Splitting)2. 按句子分割(Sentence Splitting)二、高级文本分割策略3. 重叠分割(Sliding Window)4. 递归分割(Recursive Splitting)三、生产级工具推荐5. 使用LangChain的…...
基于当前项目通过npm包形式暴露公共组件
1.package.sjon文件配置 其中xh-flowable就是暴露出去的npm包名 2.创建tpyes文件夹,并新增内容 3.创建package文件夹...
相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...
汇编常见指令
汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX(不访问内存)XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...
Java多线程实现之Thread类深度解析
Java多线程实现之Thread类深度解析 一、多线程基础概念1.1 什么是线程1.2 多线程的优势1.3 Java多线程模型 二、Thread类的基本结构与构造函数2.1 Thread类的继承关系2.2 构造函数 三、创建和启动线程3.1 继承Thread类创建线程3.2 实现Runnable接口创建线程 四、Thread类的核心…...
Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析
Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析 一、第一轮提问(基础概念问题) 1. 请解释Spring框架的核心容器是什么?它在Spring中起到什么作用? Spring框架的核心容器是IoC容器&#…...
处理vxe-table 表尾数据是单独一个接口,表格tableData数据更新后,需要点击两下,表尾才是正确的
修改bug思路: 分别把 tabledata 和 表尾相关数据 console.log() 发现 更新数据先后顺序不对 settimeout延迟查询表格接口 ——测试可行 升级↑:async await 等接口返回后再开始下一个接口查询 ________________________________________________________…...
解读《网络安全法》最新修订,把握网络安全新趋势
《网络安全法》自2017年施行以来,在维护网络空间安全方面发挥了重要作用。但随着网络环境的日益复杂,网络攻击、数据泄露等事件频发,现行法律已难以完全适应新的风险挑战。 2025年3月28日,国家网信办会同相关部门起草了《网络安全…...
人工智能--安全大模型训练计划:基于Fine-tuning + LLM Agent
安全大模型训练计划:基于Fine-tuning LLM Agent 1. 构建高质量安全数据集 目标:为安全大模型创建高质量、去偏、符合伦理的训练数据集,涵盖安全相关任务(如有害内容检测、隐私保护、道德推理等)。 1.1 数据收集 描…...
