尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

在CentOS 7.9系统上使用Docker部署RuoYi-Vue前后端分离系统

在CentOS 7.9系统上使用Docker部署RuoYi-Vue前后端分离系统
📅 发布时间:2026/6/20 1:40:47

安装Docker

# 安装必要工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# 添加阿里云镜像
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 安装Docker引擎
sudo yum install -y docker-ce docker-ce-cli containerd.io
# 查看Docker版本信息
docker -v
# 启动 docker 服务
sudo systemctl start docker
# 停止 docker 服务
sudo systemctl stop docker
# 查看 docker 服务状态
sudo systemctl status docker
# 重启 docker 服务
sudo systemctl restart docker
# 设置开机自启
sudo systemctl enable docker

安装Docker Compose

# github连接不稳定,可能需要梯子
curl -L "https://github.com/docker/compose/releases/download/1.26.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 授权
sudo chmod +x /usr/local/bin/docker-compose
# 验证安装
docker-compose --version

准备项目文件

创建项目文件夹

sudo mkdir -p /opt/ruoyi/{mysql/data,mysql/init,redis/data,backend,frontend}

结构为:

/opt/ruoyi/
├── docker-compose.yml          # Docker Compose主编排文件
├── mysql/
│   ├── data/                   # 数据库数据持久化目录
│   └── init/                   # 初始化SQL脚本目录
├── redis/
│   └── data/                   # Redis数据持久化目录
├── backend/
│   ├── Dockerfile              # 后端镜像构建文件
│   └── ruoyi-admin.jar         # 后端JAR包(需上传)
└── frontend/├── Dockerfile              # 前端镜像构建文件└── dist/                   # 前端静态资源(需上传)

配置MySQL与Redis

将RuoYi项目中的数据库初始化SQL文件(ry_xxxxxx.sql和 quartz.sql)上传到 /opt/ruoyi/mysql/init/目录下。
图片

配置后端服务SpringBoot

将本地打包好的 ruoyi-admin.jar文件上传到服务器的 /opt/ruoyi/backend/目录下。

创建后端的Dockerfile

在 /opt/ruoyi/backend/目录下创建 Dockerfile文件:

# 使用较小的JDK基础镜像,这里以OpenJDK 8为例
FROM openjdk:8-jre-slim# 设定时区
ENV TZ=Asia/Shanghai
# 安装字体库(若依验证码需要)
RUN apt-get update && apt-get install -y --no-install-recommends fontconfig libfreetype6 && rm -rf /var/lib/apt/lists/*# 设置工作目录
WORKDIR /app# 将jar包复制到容器内
COPY ruoyi-admin.jar app.jar# 暴露端口
EXPOSE 8080# 启动命令
ENTRYPOINT ["java", "-jar", "app.jar"]

配置前端服务Vue

将前端打包生成的 dist文件夹 上传到服务器的 /opt/ruoyi/frontend/目录下。
再把之前准备好的 nginx.conf文件 也上传到 /opt/ruoyi/frontend/目录下。

创建前端的Dockerfile​

在 /opt/ruoyi/frontend/目录下创建 Dockerfile文件:

FROM nginx:1.21-alpine# 将打包好的静态文件复制到Nginx的默认站点目录
COPY dist/ /usr/share/nginx/html/# 复制自定义的Nginx配置文件
COPY nginx.conf /etc/nginx/conf.d/default.conf

编写Docker Compose编排文件

在 /opt/ruoyi/目录下创建 docker-compose.yml文件

version: '3.8'services:ruoyi-mysql:image: mysql:8.0container_name: ruoyi-mysqlcommand: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --default-authentication-plugin=mysql_native_passwordenvironment:MYSQL_ROOT_PASSWORD: root@123  # 请修改为强密码MYSQL_DATABASE: ry-vue         # 数据库名,需与RuoYi配置一致ports:- "3306:3306"volumes:- ./mysql/data:/var/lib/mysql           # 数据持久化- ./mysql/init:/docker-entrypoint-initdb.d # 初始化SQLnetworks:- ruoyi-netruoyi-redis:image: redis:6.2-alpinecontainer_name: ruoyi-redisports:- "6379:6379"volumes:- ./redis/data:/datacommand: redis-server --requirepass redis@123  # 请修改为强密码,需与RuoYi配置一致networks:- ruoyi-netruoyi-backend:build: ./backend  # 根据backend目录下的Dockerfile构建镜像container_name: ruoyi-backenddepends_on:       # 明确依赖关系,先启动db和redis- ruoyi-mysql- ruoyi-redisenvironment:TZ: Asia/Shanghainetworks:- ruoyi-net# 不直接映射宿主机端口,通过Nginx反向代理访问,更安全ruoyi-frontend:build: ./frontend # 根据frontend目录下的Dockerfile构建镜像container_name: ruoyi-frontenddepends_on:- ruoyi-backendports:- "80:80"       # 将前端Nginx服务暴露在80端口networks:- ruoyi-netnetworks:ruoyi-net: # 创建自定义网络,便于容器间通过服务名(如ruoyi-backend)通信

⚠注:这里配置的要与后端代码ruoyi-admin/src/main/resources/application.yml和application-druid.yml中的数据库名,账号,密码,端口等保持一致。

redis:host: ruoyi-redisport: 6379password: redis@123  # 与docker-compose.yml中redis的command密码一致
url: jdbc:mysql://ruoyi-mysql:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: root
password: root@123  # 与docker-compose.yml中的MYSQL_ROOT_PASSWORD一致

构建并启动所有服务

cd /opt/ruoyi
# 构建镜像并启动所有容器(-d 表示后台运行)
docker-compose up -d --build

验证部署与排查

​检查容器状态​:

docker-compose ps

所有服务(mysql, redis, backend, frontend)的状态应为 "Up"。

查看日志​:

docker logs ruoyi-backend    # 查看后端日志
docker logs ruoyi-frontend   # 查看前端Nginx日志
docker logs ruoyi-mysql      # 查看数据库日志

访问

在浏览器中输入 http://你的服务器IP,应能访问到RuoYi-Vue的登录界面。默认用户名是 admin,密码是 admin123

⚠注:确保服务器防火墙已开放80、3306、6379等端口。

相关新闻

  • uni-app x使用uview-plus
  • 详细介绍:【数据结构与算法-Day 36】查找算法入门:从顺序查找的朴素到二分查找的惊艳
  • MATLAB频散曲线绘制与相速度群速度分析

最新新闻

  • MC9S08AC60 BDC与DBG调试模块深度解析:从单线通信到非侵入式追踪
  • 如何在HarmonyOS设备上快速配置MicroG位置服务权限
  • 畅捷通Helper 工具库:通用函数设计与最佳实践
  • SuperCom串口调试平台:模块化架构设计与性能优化实践
  • 2026滨州本地人必选防水补漏检测维修公司靠谱服务商TOP5推荐:房屋渗漏水检测维修/卫生间/厨房/天花板/阳台/外墙渗漏水检测补漏维修-暗管漏水检测专业仪器精准定位漏水点 - 即刻修防水
  • 2026年新发布:聚焦佛山絮凝剂企业,如何做出明智选择? - 品牌鉴赏官2026

日新闻

  • 信任的进化:技术实现详解——如何用JavaScript构建博弈论模拟器
  • Terrakube自定义工作流:如何集成OPA、Infracost等工具扩展IaC能力
  • grunt-concurrent快速入门:5分钟学会并行运行Grunt任务

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号