包含以下内容: 1. Spring Boot后端项目结构 2. Vue.js前端项目结构 3. Docker Compose部署配置 4. MySQL数据库初始化脚本 5. Redis缓存配置 6. Nginx反向代理配置 7. 完整的项目文档 技术栈: - 后端: Spring Boot 2.7.18 + Java 11 + MyBatis Plus - 前端: Vue.js 3 + TypeScript + Element Plus - 数据库: MySQL 8.0 + Redis 7 - 部署: Docker Compose + Nginx 已部署服务: - 后端API: http://localhost:18080 - 前端界面: http://localhost:13000 - 数据库管理: http://localhost:18081 - MySQL: localhost:13306 - Redis: localhost:16379
32 lines
756 B
Docker
32 lines
756 B
Docker
# 使用OpenJDK 17作为基础镜像
|
|
FROM openjdk:17-jdk-slim
|
|
|
|
# 设置工作目录
|
|
WORKDIR /app
|
|
|
|
# 设置时区
|
|
ENV TZ=Asia/Shanghai
|
|
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
|
|
|
|
# 安装必要的工具
|
|
RUN apt-get update && apt-get install -y \
|
|
curl \
|
|
wget \
|
|
net-tools \
|
|
iputils-ping \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# 复制Maven构建的JAR文件
|
|
COPY backend/target/wecom-middleware-*.jar app.jar
|
|
|
|
# 创建日志目录
|
|
RUN mkdir -p /app/logs
|
|
|
|
# 暴露端口
|
|
EXPOSE 8080
|
|
|
|
# 设置JVM参数
|
|
ENV JAVA_OPTS="-Xmx512m -Xms256m -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/app/logs"
|
|
|
|
# 启动命令
|
|
ENTRYPOINT ["sh", "-c", "java $JAVA_OPTS -jar /app/app.jar"] |