docker 部署打包(前后端项目)若依项目
·
整体流程:
- 后端 maven 打 jar 包(不变)
- ✅修改:后端 Dockerfile,直接使用 jdk 官方镜像(本部分是改动重点)
- 前端 Vue 打包 dist、制作 nginx 镜像(不变)
- 创建自定义网络
ruoyi‑net(不变) - 启动 mysql、redis 中间件,导入 sql 脚本(不变)
- 启动 java 后端、nginx 前端容器(不变)
第一步:后端 Maven 打 jar 包
bash
# 使用maven容器编译源码,服务器不用装maven
docker run -it --rm -v /opt/RuoYi‑Vue:/vue maven:3.6.3‑openjdk‑11 bash
cd /vue
mvn clean package -DskipTests
exit


产物路径:/opt/RuoYi‑Vue/ruoyi‑admin/target/ruoyi‑admin.jar
拷贝 jar 到 docker 构建目录
bash
mkdir -p /opt/RuoYi‑Vue/docker‑java
cp /opt/RuoYi‑Vue/ruoyi‑admin/target/ruoyi‑admin.jar /opt/RuoYi‑Vue/docker‑java/

第二步【重点:Dockerfile,使用官方 jdk 镜像】
原来是
FROM centos:7,再 yum 安装 java;现在直接使用自带 JDK 的官方镜像openjdk:8‑jre,镜像内部已经包含 JDK 运行环境,不需要再安装 JDK。
/opt/RuoYi‑Vue/docker‑java/Dockerfile
dockerfile
FROM openjdk:8u342-jdk
ENV TZ=Asia/Shanghai
RUN ln -sf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
WORKDIR /opt
COPY ./ruoyi-admin.jar /opt
EXPOSE 8080
CMD ["java","-jar","ruoyi-admin.jar"]

对比原版 centos 版本差异:
- ❌ 删除 centos 镜像、yum 源拷贝、
yum install java‑1.8.0安装 jdk 步骤;- ✅
FROM openjdk:8‑jre基础镜像自带完整 JRE 运行环境;- 其余指令
ENV/RUN/WORKDIR/COPY/EXPOSE/ENTRYPOINT沿用 。
构建后端镜像
bash
cd /opt/RuoYi‑Vue/docker‑java
docker build -t ruoyi‑admin:1.0 .
docker images | grep ruoyi‑admin


第三步:验证镜像
# 运行容器测试
docker run -d \
--name java.server \
--network ruoyi-net \
-p 8080:8080 \
-e SPRING_DATASOURCE_URL=jdbc:mysql://mysql.server:3306/ry-vue\
ruoyi-admin:1.0

# 查看启动日志
docker logs -f java.server

# 健康检查
curl http://localhost:8080/actuator/health


第四步 ruoyi 前端部署
# 拉取 node:12 镜像
docker pull node:12
# 进入ruoyi-vue目录
cd /opt/ruoyi/RuoYi‑Vue
# 启动node镜像
docker run -itd --rm -v /opt/ruoyi/ruoyi‑ui:/opt node:12 /bin/bash
# 进入到此容器/opt目录下并打包前端代码
docker exec -it jovial_herschel(容器的名字) /bin/bash
cd /opt
npm install
npm run build:prod



更多推荐

所有评论(0)