环境准备
1.先下载java17和maven3.9.9
docker run -it --rm -v /opt/ruoyi/RuoYi-Vue:/vue maven:3.9.9-eclipse-temurin-17 /bin/bash -c "cd /vue && mvn clean package -DskipTests"
查看 jar 包
ls -lh /root/RuoYi-Vue/ruoyi-admin/target/ruoyi-admin.jar

制作 Docker 镜像
第一步:准备 Dockerfile 文件
# 1. 创建目录
mkdir -p /opt/ruoyi/java
# 2. 复制 jar 包
cp /root/RuoYi-Vue/ruoyi-admin/target/ruoyi-admin.jar /opt/ruoyi/java/
# 3. 进入目录
cd /opt/ruoyi/java
# 4. 创建 Dockerfile
cat > Dockerfile << 'EOF'
FROM openjdk:8u342
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
WORKDIR /opt
COPY ruoyi-admin.jar /opt/app.jar
EXPOSE 8080
CMD ["java", "-jar", "app.jar"]
EOF

第二步:构建 Docker 镜像
cd /opt/ruoyi/java
docker build -t ruoyi-admin:1.0 .

第三步:验证镜像
docker images | grep ruoyi-admin

启动 RuoYi 后端服务
第一步:确认 MySQL 和 Redis 已运行
# 查看 MySQL 和 Redis 状态
docker ps | grep -E "mysql|redis"
# 如果 MySQL 未运行
docker start mysql.server
# 如果 Redis 未运行
docker start redis.server

如果容器不存在,需要先创建。您之前已经创建过,应该可以直接启动。
第二步:启动后端容器
docker run -d \
--name ruoyi-admin \
--network ruoyi-net \
-p 8080:8080 \
-e SPRING_DATASOURCE_URL="jdbc:mysql://mysql.server:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=Asia/Shanghai" \
-e SPRING_DATASOURCE_USERNAME=root \
-e SPRING_DATASOURCE_PASSWORD=123456 \
-e SPRING_REDIS_HOST=redis.server \
-e SPRING_REDIS_PORT=6379 \
ruoyi-admin:1.0

第三步:查看启动日志
docker logs -f ruoyi-admin
启动大约需要 10-20 秒,看到类似以下内容表示成功:
Started RuoYiApplication in X.XXX seconds (JVM running for X.XXX)

第四步:验证服务
# 检查容器状态
docker ps | grep ruoyi-admin
# 测试接口
curl http://localhost:8080
# 测试 Swagger 文档(如果启用)
curl http://localhost:8080/doc.html

前端搭建
docker pull node:12
① 进入ruoyi-vue目录
cd /opt/ruoyi/RuoYi-Vue
② 启动node镜像
docker run -itd --rm -v /opt/ruoyi/RuoYi-Vue/ruoyi-ui:/opt node:12
/bin/bash
③ 进入到此容器/opt目录下并打包前端代码
cd /opt
npm install (安装)

输入http://192.168.10.110/index


1963

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



