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

使用 Docker 部署 React + Nginx 应用教程

目录

    • 1. 创建react项目结构
    • 2. 创建 .dockerignore
    • 3. 创建 Dockerfile
    • 4. 创建 nginx.conf
    • 5. 构建和运行
    • 6. 常用命令

1. 创建react项目结构

在这里插入图片描述

2. 创建 .dockerignore

# 依赖目录
node_modules
npm-debug.log# 构建输出
dist
build# 开发环境文件
.git
.gitignore
.env
.env.local
.env.development
.env.test
.env.production

3. 创建 Dockerfile

# 构建阶段
FROM node:18-alpine as build
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
RUN npm run build# 生产阶段
FROM nginx:alpine
COPY --from=build /app/dist /usr/share/nginx/html
COPY nginx.conf /etc/nginx/conf.d/default.conf
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

4. 创建 nginx.conf

server {listen 80;server_name localhost;location / {root /usr/share/nginx/html;index index.html index.htm;try_files $uri $uri/ /index.html;}
}

完整的项目结构
在这里插入图片描述

5. 构建和运行

在项目根目录下执行以下命令:

# 构建Docker镜像
docker build -t react-nginx .docker run -d -p 80:80 react-nginx

6. 常用命令

# 查看运行中的容器
docker ps# 停止容器
docker stop <container_id># 查看容器日志
docker logs <container_id># 进入容器内部
docker exec -it <container_id> sh
http://www.xdnf.cn/news/6476.html

相关文章:

  • 4.2.3 Thymeleaf标准表达式 - 5. 片段表达式
  • mac M芯片运行docker-desktop异常问题
  • 保姆教程-----安装MySQL全过程
  • minio存储文件迁移磁盘
  • SpringBoot + Shiro + JWT 实现认证与授权完整方案实现
  • 《k-means 散点图可视化》实验报告
  • 在服务器上安装AlphaFold2遇到的问题(3)_cat: /usr/include/cudnn_version.h: 没有那个文件或目录
  • 从概念到可工程化智能体的转变路径——以“知识奇点工程师”为例
  • Secs/Gem第四讲(基于secs4net项目的ChatGpt介绍)
  • Python零基础入门到高手8.4节: 元组与列表的区别
  • 深度学习中--模型调试与可视化
  • 易境通海外仓WMS系统:赋能海外仓多元化业务场景管理
  • 【通知】2025元宇宙数字人设计大赛启动,大赛线上报名阶段开启!
  • ROOM 数据库 | 实现自定义 ContentProvider 具有条件的批量删除、查询功能
  • 傻子学编程之——Java并发编程的问题与挑战
  • WHAT - 前端开发流程 SOP(标准操作流程)参考
  • 芋道项目,商城模块数据表结构
  • NetSuite CSV导入Item Fulfillment的功能测试
  • ruskal 最小生成树算法
  • CPU cache基本原理
  • 互联网大厂Java求职面试:AI与大模型集成的云原生架构设计
  • 崩坏星穹铁道风堇前瞻养成攻略 崩坏星穹铁道风堇配队推荐
  • 【25软考网工】第六章 (6)防火墙技术、IDS入侵检测系统和IPS入侵防御系统
  • pytest 框架-第一集:初识
  • 3.2.4 掌握RDD行动算子
  • 周赛好题推荐
  • 采购管理系统实施要点有哪些,流程优化与风险防控指南
  • 论文中的“研究方法”怎么写?
  • NHANES指标推荐:OBS
  • 投影仪基础知识及选购方向小记①