docker 部署 若依 Ruoyi springboot+vue分离版 dockerCompose

本篇从已有虚拟机/服务器 安装好dokcer为基础开始讲解

1.部署mysql

创建conf data init三个文件夹 

conf目录存放在mysql配置文件

init目录存放着若依数据库sql文件(从navicat导出的并非若依框架自带sql)

创建一个属于本次若依部署的网段(只有在一个网段的容器才能通过容器名通信)

启动mysql命令  -v是挂载,宿主机文件挂载到容器中 

docker run -d --name mysql -p 3309:3306 -e TZ=Asia/Shanghai -e MYSQL_ROOT_PASSWORD=123 -v /usr/yxt/mysql/data:/var/lib/mysql -v /usr/yxt/mysql/init:/docker-entrypoint-initdb.d -v /usr/yxt/mysql/conf:/etc/mysql/conf.d --network ruoyinet mysql

通过navicat连接查看

mysql部署成功

2.部署Redis

docker run -d --name redis -p 6379:6379 --network ruoyinet redis

3.部署后端服务

修改 redis和mysql连接的ip地址换为容器名称

上传若依的jar包,并编写一个dockerfile文件

进入Dockerfile文件目录执行命令 打包成镜像

docker build -t ryadmin .

启动镜像为容器

docker run -d --name ryadmin -p 8090:8090 --network ruoyinet ryadmin

 网页测试访问接口或查看容器日志 后端服务启动成功

4.部署前端服务

上传打包好的若依前端

编写nginx.conf 文件


worker_processes  1;events {worker_connections  1024;
}http {include       mime.types;default_type  application/json;sendfile        on;keepalive_timeout  65;server {listen       8091;# 指定前端项目所在的位置location / {root /usr/share/nginx/html/ruoyi-ui;try_files $uri $uri/ /index.html;index  index.html index.htm;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}location /prod-api/ {proxy_set_header Host $http_host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header REMOTE-HOST $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_pass http://ryadmin:8090/;
#            rewrite /api/(.*)  /$1 break;
#            proxy_pass http://ramin:8090;}}}

启动docker中nginx镜像并将前端项目与配置文件进行挂载

docker run -d --name nginx -p 8091:8091 -v /usr/yxt/nginx:/usr/share/nginx/html -v /usr/yxt/nginx/nginx.conf:/etc/nginx/nginx.conf --network ruoyinet nginx

访问前端页面 成功

5.使用dockerCompose部署

Docker Compose通过一个单独的docker-compose.yml 模板文件(YAML 格式)来定义一组相关联的应用容器,帮助我们实现多个相互关联的Docker容器的快速部署。

先将前面的容器全部删除

编写一个docker-compose.yml文件

version: "3.8"services:mysql:image: mysqlcontainer_name: mysqlports:- "3307:3306"environment:TZ: Asia/ShanghaiMYSQL_ROOT_PASSWORD: 123volumes:- "/usr/yxt/mysql/data:/var/lib/mysql"- "/usr/yxt/mysql/init:/docker-entrypoint-initdb.d"- "/usr/yxt/mysql/conf:/etc/mysql/conf.d"networks:- ruoyinetredis:image: rediscontainer_name: redisports:- "6379:6379"networks:- ruoyinetryadmin:build: context: /usr/yxt/radmindockerfile: Dockerfilecontainer_name: ryadminports:- "8090:8090"networks:- ruoyinetdepends_on:- mysql- redisnginx:image: nginxcontainer_name: nginxports:- "8091:8091"volumes:- "/usr/yxt/nginx:/usr/share/nginx/html"- "/usr/yxt/nginx/nginx.conf:/etc/nginx/nginx.conf"depends_on:- ryadminnetworks:- ruoyinet
networks:ruoyinet:name: rynet

在docker-compose.yml文件目录下输入命令

docker compose up -d

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/122631.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

sql-50练习题6-10

sql练习题6-10题 前言数据库表结构介绍学生表课程表成绩表教师表 0-6 查询"李"姓老师的数量0-7 查询学过"李四"老师授课的同学的信息0-8 查询没学过"李四"老师授课的同学的信息0-9 查询学过编号为"01"并且也学过编号为"02"的…

Redis(09)| Reactor模式

我们在使用Redis的时候,通常是多个客户端连接Redis服务器,然后各自发送命令请求(例如Get、Set)到Redis服务器,最后Redis处理这些请求返回结果。 从上一篇博文《Redis(08)| 线程模型》中知道Redis是单线程。Redis除了处…

数据结构——栈与队列

目录 1. 中缀表达式转换为后缀表达式 2. 括号匹配问题 3. 栈实现队列 4. 约瑟夫环 1. 中缀表达式转换为后缀表达式 【问题描述】 输入一个中缀表达式,表达式中有、-、*、/四种运算以及(、),表达式中的其他符号为大写的字母。实…

QT webengine显示HTML简单示例

文章目录 参考示例1TestWebenqine.promainwindow.hmainwindow.cppmain.cpp效果 示例2 (使用setDevToolsPage函数)main.cpp效果 参考 QT webengine显示HTML简单示例 示例1 编译器 : Desktop Qt 5.15.2 MSVC2019 64bit编辑器: QtCreator代码: TestWebenqine.pro # TestWeben…

pycharm运行R语言脚本(win10环境下安装)

文章目录 简介1. pycharm安装插件2. 安装R语言解释器2.1下载安装包2.2具体安装过程 3.编辑环境变量4 检验是否安装成功:5.安装需要的library6.pycharm中配置安装好的R语言解释器 简介 pycharm 安装 R language for Intellij R language for Intellij 是一个插件&am…

震惊!原来BUG是这么理解的!什么是BUG?软件错误(BUG)的概念

较为官方的概念: 当且仅当规格说明是存在的并且正确,程序与规格说明之间的 不匹配才是错误。 当需求规格说明书没有提到的功能,判断标准以最终用户为准:当程序没有实现其最终用户合理预期的 功能要求时,就是软…

【Python 零基础入门】常用内置函数 初探

【Python 零基础入门】内容补充 1 常用内置函数 Python 简介为什么要学习内置函数数据类型和转换int(): 转为整数float(): 转为浮点数list(): 转为列表tuple(): 转换为元组set():转换为集合dict(): 创建字典: 数学运算abs(): 绝对值pow(): 幂运算round(): 四舍五入min(): 最小值…

NPM【问题 01】npm i node-sass@4.14.1报错not found: python2及Cannot download问题处理

node-sass安装问题处理 1.问题2.处理2.1 方案一【我的环境失败】2.2 方案二【成功】2.3 方案三【成功】 1.问题 gyp verb which failed Error: not found: python2 # 1.添加Python27的安装路径到环境变量 gyp verb check python checking for Python executable "python…

leetcode:1154. 一年中的第几天(python3解法)

难度:简单 给你一个字符串 date ,按 YYYY-MM-DD 格式表示一个 现行公元纪年法 日期。返回该日期是当年的第几天。 示例 1: 输入:date "2019-01-09" 输出:9 解释:给定日期是2019年的第九天。 示例…

51单片机实验:数码管动态显示00-99

1、实验要求 利用STC89C52RC单片机开发板实现:使用2位数码管循环显示00-99,每次间隔1s,并且当计数到20时,则蜂鸣器鸣响1次。 2、实验分析 程序实现分析: 1、定义数码管位选引脚(P2.4、P2.5、P2.6、…

idea上怎么将新创建项目转为maven项目

场景 在刚创建的一个项目中,往往没有被识别为maven项目,怎么做呢? 方法 然后选maven,这样这个项目就变成了maven项目

TYWZOJ 种树苗 待定题解

文章目录 题目描述输入格式输出格式样例样例输入样例输出 数据范围与提示思路与部分实现完整代码 题目描述 在游戏 Minecraft 中,玩家可以通过种树来使木材再生。玩家需要将树苗种在泥土上,然后等待它长成大树,期间可以利用骨粉来催熟树苗。…

UE4 体积云制作 学习笔记

首先Noise本来就是一张噪点图 云的扰动不能太大,将Scale调小,并将InputMin调整为0 形成这样一张扰动图 扰动需要根据材质在世界的位置进行调整,所以Position需要加上WorldPosition 材质在不同世界位置,噪点不同 除以一个数&#…

UI组件库基础

UI组件库 全局组件* 全局注册组件 & 并且使用了require.context 模块化编程 & webpack打包 const install(Vue)>{const contextrequire.context(.,true,/\.vue$/)context.keys().forEach(fileName>{const modulecontext(fileName)Vue.component(module.default.n…

云起无垠典型案例入选《2023软件供应链安全洞察》报告

近日,历时6个月,由ISC编制的《2023软件供应链安全洞察》报告(以下简称《报告》)正式对外发布。《报告》围绕软件供应链安全现状、技术内核、治理指南、落地实践展开,以期为行业从业者提供有价值的信息和洞见&#xff0…

1.1 计算机安全概念

思维导图: 前言: 第1章: 计算机与网络安全概念笔记 1. 学习目标 了解保密性、完整性和可用性的关键安全需求。了解OSI的X.800安全架构。识别和举例说明不同的安全威胁和攻击。掌握安全设计的基本准则。熟悉攻击面和攻击树的使用。了解与密码标准相关的…

2024年最新水果音乐制作软件FL Studio21需要多少钱呢?

水果,全称Fruity Loop Studio,简称FL Studio。是一款全能的音乐制作软件,经过二十多年的演化更迭,其各项功能非常的先进。其开创性的Pat\song模式,也为初学者的学习提供了便利。那么水果音乐制作软件FL Studio21需要多…

博彦科技:以金融为起点,凭借创新技术平台真打实干

【科技明说 | 重磅专题】 成立于1995年的博彦科技,已有28年左右的发展历程。 我没有想到,博彦科技也对AIGC领域情有独钟。博彦科技自研的数字人产品SaaS平台,可以接入包括百度文心一言、阿里通义千问等AI大模型产品。可见&#…

036-第三代软件开发-系统时间设置

第三代软件开发-系统时间设置 文章目录 第三代软件开发-系统时间设置项目介绍系统时间设置演示效果QML 实现小伙伴自创 TumblerQt 家 Tumbler C 端实现 总结一下 关键字: Qt、 Qml、 Time、 时间、 系统 项目介绍 欢迎来到我们的 QML & C 项目!…

【杂记】Ubuntu20.04装系统,安装CUDA等

装20.04系统 安装系统的过程中,ROG的B660G主板,即使不关掉Secure boot也是可以的,不会影响正常安装,我这边出现问题的主要原因是使用了Ventoy制作的系统安装盘,导致每次一选择使用U盘的UEFI启动,就会跳回到…