该项目是前后端分离的,后端使用spring cloud,前端使用vue3,以下操作均使用root账号在Xshell 8操作
系统配置
系统使用Ubuntu 22.04.5
IP地址为192.168.200.200 /24
4核8G50G硬盘
目录
首先完成系统环境初始化
Ubuntu 22.04.5 LTS常用插件环境初始化-优快云博客
Ubuntu安装docker与docker-compose-优快云博客
构建后端服务
安装jdk和maven
apt install openjdk-21-jdk maven
打开配置文件 /etc/maven/settings.xml ,找到<mirrors>标签行,将下方的国内源配置至标签内
<mirror>
<id>aliyunmaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>https://maven.aliyun.com/repository/public </url>
</mirror>
拉取后端源码
mkdir -p /opt/gitdir
cd /opt/gitdir
git clone https://gitee.com/zhijiantianya/yudao-cloud.git
切换分支
cd /opt/gitdir/yudao-cloud/
git tag
# 显示当前所有tag
v1.0.0
v1.7.1
v1.7.2
v1.7.3
v1.8.0
v1.8.1
v1.8.2
v1.8.3
v1.9.0
v2.0.0
v2.0.1
v2.1.0
v2.1.0(jdk17/21)
v2.2.0(jdk17/21)
v2.2.0(jdk8/11)
v2.3.0(jdk17/21)
v2.3.0(jdk8/11)
v2.4.0(jdk17/21)
v2.4.0(jdk8/11)
v2.4.1(jdk17/21)
v2.4.1(jdk8/11)
v2.4.2(jdk17/21)
v2.4.2(jdk8/11)
v2.5.0(jdk17/21)
v2.5.0(jdk8/11)
v2.6.0(jdk17/21)
v2.6.0(jdk8/11)
v2.6.1(jdk17/21)
v2.6.1(jdk8/11)
v2025.08(jdk17/21)
v2025.08(jdk8/11)
v2025.09(jdk17/21)
v2025.09(jdk8/11)
v2025.10(jdk17/21)
v2025.10(jdk8/11)
选择最新版本v2025.10(jdk17/21)
git checkout v2025.10\(jdk17/21\)
切换后,验证是否切换成功
git branch
* (头指针在 v2025.10(jdk17/21) 分离)
master
暂时先不构建后端项目
中间件服务搭建
yudao-cloud微服务框架的运行,必须要安装3个基础的中间件组件,Redis、MySQL、Nacos
- Mysql:数据库
- Redis:缓存
- Nacos:注册中心配置中心
这里我们使用docker容器部署
MySQL
1、部署MySQL
docker run -d -p 3306:3306 \
--restart=unless-stopped \
--name=yudao_mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
-v "/etc/localtime:/etc/localtime" \
-v yc_mysql:/var/lib/mysql \
mysql:8.4.2
2、导入数据
使用mysql创建数据库ruoyi-vue-pro,并将拉取的后端项目下的sql目录中的ruoyi-vue-pro.sql导入进去进行初始化
cd /opt/gitdir/yudao-cloud/sql/mysql
docker exec -i yudao_mysql mysql -uroot -p123456 -e 'CREATE DATABASE `ruoyi-vue-pro`;'
docker exec -i yudao_mysql mysql -uroot -p123456 ruoyi-vue-pro < ./ruoyi-vue-pro.sql
3、修改后端配置中数据库地址
数据库连接配置在application-local.yaml文件中,默认是使用127.0.0.1:3306端口,我们需要将其改成本机ip地址,以下所有操作均在/opt/gitdir/yudao-cloud/下执行
cd /opt/gitdir/yudao-cloud/
查找所有application-local.yaml查看其中的数据库配置
find ./ -name application-local.yaml -exec grep -l 'jdbc:mysql://127.0.0.1:3306' {} +
将数据库连接配置文件中的ip更改成自己的虚拟机ip地址
find ./ -name application-local.yaml -print0 | xargs -0 sed -i 's|jdbc:mysql://127.0.0.1:3306|jdbc:mysql://192.168.200.200:3306|g'
通过查看本机ip地址验证是否修改成功
find ./ -name application-local.yaml -exec grep 'jdbc:mysql://192.168.200.200:3306' {} +
Redis
1、部署Redis
docker run -d \
--restart=unless-stopped \
--name=yudao_redis \
-v "/etc/localtime:/etc/localtime" \
-p 6379:6379 \
redis:7.2.5
2、修改后端配置中Redis地址
Redis配置同样在application-local.yaml文件中
find ./ -name application-local.yaml -print0 | xargs -0 sed -i 's|host: 127.0.0.1 # 地址|host: 192.168.200.200 # 地址|g'
验证
find ./ -name application-local.yaml -exec grep 'host: 192.168.200.200 # 地址' {} +
Nacos
1、部署Nacos
由于up本机配的清华源拉取不到Nacos,故此处选择华为云仓库进行拉取
docker run -d \
-p 8848:8848 \
-p 9848:9848 \
--restart=unless-stopped \
--name=yudao_nacos \
-e MODE=standalone \
-v "/etc/localtime:/etc/localtime" \
swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/nacos/nacos-server:v2.4.0
2、创建命名空间
访问Nacos页面,http://你的虚拟机IP:8848/nacos


3、修改后端配置中Nacos的地址
find ./ -name bootstrap-local.yaml -print0 | xargs -0 sed -i 's|server-addr: 127.0.0.1:8848|server-addr: 192.168.200.200:8848|g'
构建后端项目
# 进入项目根目录
cd /opt/gitdir/yudao-cloud
mvn clean install package '-Dmaven.test.skip=true'
构建速度取决于网速与设备(之前构建过一次所以这次比较快)
容器化部署前后端服务
制作后端docker镜像
后端有3个服务,gateway,system,infra
在yudao-cloud目录下,可以找到他们的子目录,项目已经为我们提供了Dockerfile文件,不需要我们生成
# 制作gateway镜像
cd /opt/gitdir/yudao-cloud/yudao-gateway
docker build -t yudao_gateway .
# 制作system镜像
cd /opt/gitdir/yudao-cloud/yudao-module-system/yudao-module-system-server/
docker build -t yudao_system .
# 制作infra镜像
cd /opt/gitdir/yudao-cloud/yudao-module-infra/yudao-module-infra-server/
docker build -t yudao_infra .
启动后端容器
服务启动的时候会自动注册IP地址到nacos中,但是docker默认的网络模式是bridge模式,与宿主机不在同一个网段。如果3个服务不在同一台机子运行,是无法通过docker内部地址访问的,因此我们选择host的网络模式,这样docker使用宿主机的IP地址,注册时也是宿主机的ip地址:
docker run -d \
--network=host \
--name yudao_gateway \
-v "/etc/localtime:/etc/localtime" \
yudao_gateway
docker run -d \
--network=host \
--name yudao_system\
-v "/etc/localtime:/etc/localtime" \
yudao_system
docker run -d \
--network=host \
--name yudao_infra\
-v "/etc/localtime:/etc/localtime" \
yudao_infra
启动完后进行验证:





可以通过docker logs来查看服务的日志
docker logs -f yudao_gateway
制作前端docker镜像
首先到Node官网下载Linux包

将下好的包上传至虚拟机的/opt/目录下
cd /opt
tar xvf node-v24.11.0-linux-x64.tar.xz
添加配置到~/.bashrc最下面
vim ~/.bashrc
export PATH=$PATH:/opt/node-v24.11.0-linux-x64/bin
重新加载配置
source ~/.bashrc
克隆前端项目
cd /opt/gitdir
git clone https://gitee.com/yudaocode/yudao-ui-admin-vue3.git
cd yudao-ui-admin-vue3
git tag
#选择上面yudao-cloud相同的版本
git checkout v2025.10
node -v #查看版本
v24.11.0
在该前端项目目录下查看隐藏文件,更改为后端(虚拟机)IP地址
ls -a
sed -i 's|localhost|192.168.200.200|g' .env.local
开始构建前端项目
# 设置国内npm源
npm config set registry https://registry.npmmirror.com
# 安装pnpm
npm install -g pnpm
# 设置国内源
pnpm config set registry https://registry.npmmirror.com
# 安装项目包
pnpm install
pnpm build:local
构建这个前端项目需要8G左右的内存,否则会失败

成功后,项目会将编译好的前端静态页面存放到当前目录下的dist目录中

在此目录下新建Dockerfile文件,制作镜像
FROM nginx:1.27
ADD ./dist/ /usr/share/nginx/html/
构建镜像
docker build -t yudao_ui_admin .
启动容器
docker run --name yudao_ui_admin -d -p 8080:80 yudao_ui_admin
在浏览器中访问页面 http://你的IP:8080

功能正常

至此容器化部署芋道框架完成
1431

被折叠的 条评论
为什么被折叠?



