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

使用 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

相关文章:

  • MySQL 数据库优化:InnoDB 存储引擎深度解析:架构、调优与最佳实践
  • 支持蓝牙5.0和2.4G私有协议芯片-PHY6222
  • CSDN-2024《AGP-Net: Adaptive Graph Prior Network for Image Denoising》
  • 移植RTOS,发现任务栈溢出怎么办?
  • VSCode + Cline AI辅助编程完全指南
  • 灌区量测水自动化监测解决方案
  • Go语言实现生产者-消费者问题的多种方法
  • okcc呼叫中心系统搭建的方案方式
  • Linux操作系统--进程间通信(system V共享内存)
  • 【AI学习】AI大模型技术发展研究月报的生成提示词
  • Linux——UDP/TCP协议理论
  • Redis——底层数据结构
  • MySQL 第四讲---基础篇 数据类型
  • SRS流媒体服务器(5)源码分析之RTMP握手
  • 关于 TCP 端口 445 的用途以及如何在 Windows 10 或 11 上禁用它
  • 课设:基于swin_transformer的植物中草药分类识别系统(包含数据集+UI界面+系统代码)
  • 基于51单片机和8X8点阵屏、矩阵按键的记忆类小游戏
  • Windows系统功能管控指南 | 一键隐藏关机键/禁用任务管理器
  • 二层交换机、三层交换机与路由器三者的详细对比
  • 一文讲透面向对象编程OOP特点及应用场景
  • 美国新泽西客运公司遭遇罢工:40年来首次,35万人受影响
  • 工人日报:应对“职场肥胖”,健康与减重同受关注
  • 李成钢:近期个别经济体实施所谓“对等关税”,严重违反世贸组织规则
  • 北京警方:海淀发生小客车刮碰行人事故4人受伤,肇事司机已被查获
  • 人民网三评“网络烂梗”:莫让低级趣味围猎青少年
  • 著名植物学家、园艺学家,国际植物园协会原主席贺善安逝世