docker项目实战——ruoyi持久化 一、持久化Docker 容器默认是临时存储容器删除容器内部所有数据全部跟着消失。持久化就是把重要数据放到宿主机磁盘脱离容器生命周期。二、持久化部署2.1 mysql 持久化#项目版本下载 cd /opt git clone https://gitee.com/humajun/ruoyi.git # 挂载 mysql 实现持久化 # 创建 MySQL 数据卷 docker volume create mysql-data # 查看数据卷详细信息 docker volume inspect mysql-data # 运行MySQL并挂载数据卷 docker run -d \ --name mysql.server \ --hostname db \ --network ruoyi-net \ -e MYSQL_ROOT_PASSWORD123456 \ -e MYSQL_DATABASEry-vue \ -e LANGC.UTF-8 \ -e LC_ALLC.UTF-8 \ -v /opt/mysql-data:/var/lib/mysql \ -v /opt/ruoyi/sql:/docker-entrypoint-initdb.d \ mysql:5.7 \ --character-set-serverutf8mb4 \ --collation-serverutf8mb4_general_ci # 查看容器是否创建成功 docker ps # 验证卷挂载 docker inspect mysql.server | grep -A 10 Mounts # 进入 mysql.server 容器查看数据库 docker exec -it mysql.server /bin/bash mysql -uroot -p123456 show databases; use ry-vue; show tables;2.2 redis 持久化# 挂载 redis 实现持久化 # 创建Redis数据卷 docker volume create redis-data # 运行Redis并挂载数据卷 docker run -d \ --name redis.server \ --network ruoyi-net \ -p 6379:6379 \ -v redis-data:/data \ redis redis-server --appendonly yes # 查看 redis.server 容器是否运行成功 docker ps2.3 日志挂载# 创建本地目录 mkdir -p /home/developer/ruoyi-logs # 运行容器并挂载本地目录 docker run -d \ --name ruoyi-web \ --network ruoyi-net \ -p 80:80 \ -v /home/developer/ruoyi-logs:/var/log/nginx \ nginx:1.25.3 # 查看容器是否运行成功 docker ps # 访问Nginx生成日志 curl http://localhost # 查看日志文件 cat /home/developer/ruoyi-logs/access.log2.3 ruoyi 后端部署2.3.1 准备jar包# 修改application文件 vim /opt/ruoyi/ruoyi-admin/src/main/resources/application-druid.yml # 修改主机IP和数据库的用户名与密码 vim /opt/ruoyi/ruoyi-admin/src/main/resources/application.yml # 修改主机IP #下载一个mvn镜像用于为我们的后端打jar包 docker pull maven:3.6.3-openjdk-11 # 查看镜像是否下载成功 docker images # 启动maven镜像 cd /opt/ruoyi docker run -it --rm -v /opt/ruoyi:/vue maven:3.6.3-openjdk-11 /bin/bash # 进入/vue目录进行mvn命令打jar包 cd /vue mvn package # 退出maven容器将ruoyi-admin.jar移到/java下 mkdir /opt/java mv /opt/ruoyi/ruoyi-admin/target/ruoyi-admin.jar /opt/java # 将阿里云仓库也上传到 /java 目录下2.3.2 编写Dockerfile定义运行环境# 编写 Dockerfile vim Dockerfile # 使用 OpenJDK 8 镜像 FROM eclipse-temurin:8-jre # 设置时区 RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime echo Asia/Shanghai /etc/timezone # 设置容器内的工作目录为 /opt WORKDIR /opt # 把当前目录下的 ruoyi-admin.jar 拷贝到容器的 /opt 目录 COPY ./ruoyi-admin.jar /opt # 容器启动时执行的命令 CMD [ java,-jar,ruoyi-admin.jar ]2.3.3 构建镜像# 构建命令 docker build -t ruoyi-admin:1.0 . # 查看构建的镜像 docker images | grep ruoyi-admin2.3.4 验证镜像# 运行容器测试 docker run -d \ --name java.server \ --network ruoyi-net \ -p 8080:8080 \ -e SPRING_DATASOURCE_URLjdbc:mysql://mysql.server:3306/ry-vue \ ruoyi-admin:1.0 # 查看启动日志 docker logs java.server2.4 ruoyi 前端部署# 构建产物 cd /opt/ruoyi docker run -it --rm \ -v /opt/ruoyi/ruoyi-ui:/opt \ -w /opt \ node:12 \ /bin/bash -c npm install npm run build:prod # 确认产物 ll /opt/ruoyi/ruoyi-ui/dist/ # 启动Nginx前端 docker run -d \ --name ruoyi-web \ --network ruoyi-net \ -p 8888:80 \ -v /opt/ruoyi/ruoyi-ui/dist:/usr/share/nginx/html \ -v /opt/ruoyi/nginx.conf:/etc/nginx/conf.d/default.conf \ nginx:1.25.3 # 验证 docker ps | grep ruoyi-web2.5 验证# 查看所有容器 docker ps # 验证容器间通信 docker exec java.server getent hosts mysql.server docker exec java.server getent hosts redis.server # 浏览器访问前端 http://服务器IP:8888 http://192.168.1.17:8888

相关新闻

最新新闻

资深 Java 工程师与架构师知识体系全景图

资深 Java 工程师与架构师知识体系全景图

文章目录🎯 资深 Java 工程师与架构师全栈知识体系大纲💻 一、 计算机基础与底层运行机制🌐 1.1 操作系统与内核原理🔢 1.2 计算机网络与通信协议📐 1.3 数据结构与核心算法📐 1.4 软件设计原则与模式&…

2026/8/28 7:39:46
Meta首款编程Agent亮相,能力对标Opus 5

Meta首款编程Agent亮相,能力对标Opus 5

Meta 首款编程 Agent 来了。这个事放在 2025 年下半年看,重量级不在于又出了一个“能写代码的助手”,而在于 Meta 正式下场做 Agent 形态的编程工具,并且对外释放的信号是:背后模型能力已经对齐到 Claude Opus 5 这个级别。编程 A…

2026/8/28 7:39:46
分布式架构知识体系:如何记忆

分布式架构知识体系:如何记忆

面对如此庞大的分布式架构知识体系,死记硬背不仅痛苦而且容易遗忘。对于资深技术人员而言,最高效的记忆方法不是去背孤立的名词,而是建立“逻辑闭环”与“工程痛点驱动”的认知模型。 通过以下三大核心记忆法,可以把零散的知识点…

2026/8/28 7:39:46
PCIe/104与Coffee Lake Refresh:高性能嵌入式平台解析

PCIe/104与Coffee Lake Refresh:高性能嵌入式平台解析

把“PCIe/104”和“Coffee Lake Refresh”放在一起,在五年前是想都不敢想的事。一个是嵌入式工控领域的老牌板卡规格,以紧凑坚固著称,另一个是Intel为桌面游戏机准备的九代处理器。但这两年,这类板卡真的量产铺开了,而…

2026/8/28 7:39:46
豆包一套数学卷子,乱码了怎么办?AI导出鸭的底层逻辑与批量作业法则

豆包一套数学卷子,乱码了怎么办?AI导出鸭的底层逻辑与批量作业法则

豆包一套数学卷子,乱码了怎么办?AI导出鸭的底层逻辑与批量作业法则 如果你曾试图将豆包生成的一套数学卷子复制到Word或PDF,大概率会遇到同一个场景:规整的LaTeX公式在粘贴的瞬间“坍缩”成一堆以反斜杠开头的纯文本乱码&#xff…

2026/8/28 7:39:46
同城服务H5+小程序源码实操指南:从搭建到真机验收

同城服务H5+小程序源码实操指南:从搭建到真机验收

简介:H5与小程序双端协同开发是本地生活服务系统的核心技术路径,其本质是跨端兼容性攻坚与云原生架构落地。理解H5的Web Audio API限制、小程序多平台容器适配机制、uni-app条件编译原理及云函数冷启动优化策略,是保障实时定位、语音接单、支…

2026/8/28 7:34:46