当前位置: 首页 > news >正文

前后端Dockerfile

一、前端Dockerfile

# 使用官方 Node.js 镜像作为基础镜像,当前使用22版本
FROM node:22-alpine
# 设置工作目录
WORKDIR /app
# 复制 package.json 和 package-lock.json
COPY package*.json ./
# 镜像源修改
RUN npm install pnpm -g
RUN pnpm config set registry https://registry.npmmirror.com
# 安装依赖
RUN pnpm install
# 复制项目文件
COPY . .
# 构建应用
RUN pnpm run buildFROM nginx:alpine
# 设置时区环境变量并配置 tzdata
ENV TZ=Asia/Shanghai
RUN ln -fs /usr/share/zoneinfo/$TZ /etc/localtime && \echo $TZ > /etc/timezone
# 复制构建产物到 Nginx 的 html 目录
COPY --from=0 /app/dist /usr/share/nginx/html
# 复制自定义的 Nginx 配置(可选)
COPY nginx.conf /etc/nginx/conf.d/default.conf
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

对应nginx.conf

server {listen       80;listen  [::]:80;server_name  localhost;location / {root   /usr/share/nginx/html;index  index.html index.htm;}location /api {rewrite ^/api(.*)$ $1 break;proxy_pass http://192.168.1.99:8000;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;# 连接优化参数proxy_http_version 1.1;proxy_set_header Connection "";# 超时控制proxy_connect_timeout 500ms;proxy_read_timeout 3s;proxy_send_timeout 2s;# 容错配置proxy_next_upstream error timeout;proxy_next_upstream_timeout 1s;proxy_next_upstream_tries 3;}
}

二、后端Dockerfile

FROM openjdk:21-jdk# 设置时区环境变量并配置 tzdata
ENV TZ=Asia/ShanghaiRUN ln -fs /usr/share/zoneinfo/$TZ /etc/localtime && \echo $TZ > /etc/timezoneWORKDIR /app
COPY target/xxxx-server-0.0.1-SNAPSHOT.jar /app/app.jar
EXPOSE 8080
CMD ["java", "-jar", "app.jar"]

http://www.dtcms.com/a/263578.html

相关文章:

  • 2025年 UI 自动化框架使用排行
  • GeoTools 结合 OpenLayers 实现属性查询(二)
  • 嵌入式原理与应用篇---常见基础知识(10)
  • 【软考高项论文】论信息系统项目的进度管理
  • Spring-事务和事务传播机制
  • DFMEA检查表模板下载
  • 简单的 PyTorch 示例,可视化和解释 weight decay 的作用
  • 云上攻防—Docker安全容器逃逸特权模式危险挂载
  • 【C++】简单学——模板初阶
  • tauri v2 开源项目学习(一)
  • PSQL 处理 BLOB 类型数据问题
  • 华为云Flexus+DeepSeek征文 | ​​华为云ModelArts Studio大模型与企业AI会议纪要场景的对接方案
  • 数据库事务全面指南:概念、语法、机制与最佳实践
  • C++ 快速回顾(五)
  • 【冷知识】Spring Boot 配置文件外置
  • SpringBoot -- 自动配置原理
  • Bessel位势方程求解步骤
  • STL简介+string模拟实现
  • 「Java案例」计算矩形面积
  • 大数据(3)-Hive
  • 【算法】动态规划:1137. 第 N 个泰波那契数
  • 初等变换 线性代数
  • C++ STL之string类
  • Windows11系统中安装docker并配置docker镜像到pycharm中
  • EA自动交易完全指南:从策略设计到实盘部署
  • SpringBoot 启动入口深度解析:main方法执行全流程
  • Android Telephony 网络状态中的 NAS 信息
  • 反射,枚举和lambda表达式
  • 《垒球百科》老年俱乐部有哪些项目·垒球1号位
  • 从零到一通过Web技术开发一个五子棋