当前位置: 首页 > news >正文

RuoYi-Vue项目Docker镜像构建、推送与部署完整流程

RuoYi-Vue项目Docker镜像构建、推送与部署流程

一、本地构建镜像

1. 使用docker-compose构建镜像

基于docker-compose.yml文件,可以一次构建所有服务镜像:

# 构建所有服务
docker-compose build# 或者构建并启动
docker-compose up -d --build

若只需构建单个服务:

# 仅构建并启动Redis服务
docker-compose up -d --build ruoyi-redis

docker-compose.yml中定义了四个服务:

  • ruoyi-backend:后端服务,基于Dockerfile-backend构建
  • ruoyi-frontend:前端服务,基于Dockerfile-frontend构建
  • ruoyi-mysql:MySQL服务,基于Dockerfile-mysql构建
  • ruoyi-redis:Redis服务,直接使用redis:6-alpine官方镜像

二、推送镜像到私有仓库

1. 为构建好的镜像打标签

# 为镜像添加私有仓库前缀
docker tag ruoyi-vue_ruoyi-backend:latest 192.168.100.10:5050/ruoyi-vue-ruoyi-backend:latest
docker tag ruoyi-vue_ruoyi-frontend:latest 192.168.100.10:5050/ruoyi-vue-ruoyi-frontend:latest
docker tag ruoyi-vue_ruoyi-mysql:latest 192.168.100.10:5050/ruoyi-vue-ruoyi-mysql:latest
docker tag redis:6-alpine 192.168.100.10:5050/ruoyi-vue-ruoyi-redis:6-alpine

注意:docker-compose构建的镜像名称格式为"项目名_服务名"。

2. 推送镜像到私有仓库

# 登录私有仓库
docker login 192.168.100.10:5050 -u [用户名] -p [密码]# 推送镜像
docker push 192.168.100.10:5050/ruoyi-vue-ruoyi-backend:latest
docker push 192.168.100.10:5050/ruoyi-vue-ruoyi-frontend:latest
docker push 192.168.100.10:5050/ruoyi-vue-ruoyi-mysql:latest
docker push 192.168.100.10:5050/ruoyi-vue-ruoyi-redis:6-alpine

三、在目标环境拉取镜像并部署

1. 拉取镜像

# 拉取所有服务镜像
docker pull 192.168.100.10:5050/ruoyi-vue-ruoyi-backend:latest
docker pull 192.168.100.10:5050/ruoyi-vue-ruoyi-frontend:latest
docker pull 192.168.100.10:5050/ruoyi-vue-ruoyi-mysql:latest
docker pull 192.168.100.10:5050/ruoyi-vue-ruoyi-redis:6-alpine

2. 使用docker-compose-net.yml部署

在目标环境,使用docker-compose-net.yml文件启动服务:

docker-compose -f docker-compose-net.yml up -d

docker-compose-net.yml文件使用已推送到私有仓库的镜像,不再需要构建过程。

3. 检查服务状态

docker-compose -f docker-compose-net.yml ps

四、主要配置文件说明

1. docker-compose.yml

本地开发和构建环境使用的配置文件,定义了构建过程和服务配置。核心部分包括:

  • 服务定义和构建配置
  • 环境变量设置
  • 端口映射
  • 数据卷配置
  • 服务依赖关系
  • 网络设置

2. docker-compose-net.yml

生产环境部署使用的配置文件,直接使用已推送的镜像。与docker-compose.yml的主要区别是:

  • 使用image字段指定镜像,而非build字段构建镜像
  • 所有镜像名称指向私有仓库地址

3. Dockerfile-backend、Dockerfile-frontend、Dockerfile-mysql

各服务的镜像构建文件,定义了构建过程。

4. application-prod.yml

后端服务的生产环境配置文件,在容器中通过卷挂载方式提供。

5. nginx.conf

前端Nginx服务器的配置文件,主要功能包括:

  • 静态文件服务:提供前端Vue应用的静态资源
  • API代理:将不同路径的请求代理到后端服务
    • /prod-api/:生产环境API路径,代理到后端服务
    • /api:通用API路径
    • /dev-api:开发环境API路径兼容
    • /profile:资源文件代理
  • 错误页面配置:处理服务器错误

该配置确保前端应用能够正确访问后端API,并处理单页应用的路由刷新问题。
具体文件为vip免费下载

相关文章:

  • FEKO许可安装
  • CF2096G Wonderful Guessing Game 构造
  • 强制缓存vs协商缓存
  • 2025系统架构师---黑板架构风格
  • element通过业务按钮点击导入,调用el-upload的导入方法
  • 日本IT|UIUX主要的工作都是哪些?及职业前景
  • 关于PyQt5信号槽机制的解析
  • Spring AOP 详解
  • ARCGIS PRO 在地图中飞行
  • (done) 吴恩达版提示词工程 9. 总结 (就是复述一遍前面的内容,以及建议你基于LLM开发应用程序)
  • 8、HTTPD服务--CGI机制
  • linux两个特殊的宏 _RET_IP_ 和_THIS_IP_ 实现
  • 第15节:传统分类模型-K近邻(KNN)算法
  • 【文献速递】snoRNA-SNORD113-3/ADAR2通过对PHKA2的A-to-I编辑影响胶质母细胞瘤糖脂代谢
  • Nginx配置文件介绍
  • 创建一个springboot的项目-简洁步骤
  • 【前端基础】viewport 元标签的详细参数解析与实战指南
  • 【项目实训个人博客】multi-agent调研(1)
  • DES密码系统的差分分析
  • DLNA 功能
  • 连演三场,歌剧《义勇军进行曲》在上海西岸大剧院上演
  • 影子调查丨危房之下,百余住户搬离梦嘉商贸楼
  • 商务部:将积极会同相关部门加快推进离境退税政策的落实落地
  • 六朝文物草连空——丹阳句容南朝石刻考察纪
  • 释新闻|SEVIS是什么?在美留学生遭身份中止意味什么?
  • 上海论坛2025年会聚焦创新的时代,9份复旦智库报告亮相