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

使用 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.lryc.cn/news/2380009.html

相关文章:

  • 我创建了MariaDb数据库,但其他电脑访问不到?
  • API Gateway REST API 集成 S3 服务自定义 404 页面
  • 关于systemverilog中在task中使用force语句的注意事项
  • Python Day26 学习
  • 解决:npm install报错,reason: certificate has expired
  • 卸载云枢(MacOS 版)
  • 中科固源Wisdom平台发现NASA核心飞行控制系统(cFS)通信协议健壮性缺陷!
  • Linux内核深入学习(4)——内核常见的数据结构2——红黑树
  • 从单体架构到微服务:架构演进之路
  • 嵌入式学习笔记DAY23(树,哈希表)
  • leetcode239 滑动窗口最大值deque方式
  • 仓颉开发语言入门教程:搭建开发环境
  • Axure中继器高保真交互原型的核心元件
  • 【SpringBoot】✈️整合飞书群机器人发送消息
  • 第 1 章:数字 I/O 与串口通信(GPIO UART)
  • 【图像生成大模型】Wan2.1:下一代开源大规模视频生成模型
  • java配置webSocket、前端使用uniapp连接
  • interface接口和defer场景分析
  • 02、基础入门-Spring生态圈
  • 前后端交互中的绝对路径和相对路径
  • 从零开始学习three.js(18):一文详解three.js中的着色器Shader
  • 调用百度云API机器翻译
  • 大模型训练计算显存占用
  • uni-app学习笔记六-vue3响应式基础
  • 亚远景-ASPICE与ISO 21434在汽车电子系统开发中的应用案例
  • 『已解决』Python virtualenv_ error_ unrecognized arguments_--wheel-bundle
  • 详细介绍一下Python连接MySQL数据库的完整步骤
  • 【Unity 2023 新版InputSystem系统】新版InputSystem 如何进行人物移动(包括配置、代码详细实现过程)
  • 单片机-STM32部分:13-1、编码器
  • 机器学习第十二讲:特征选择 → 选最重要的考试科目做录取判断