React项目Docker部署的简单配置

先远程服务器上已Docker部署后端服务,在此基础上(同一台机器)补充前端的Docker部署。

主要思路还是使用nginx转发后端请求,流程如下:

  1. 项目根目录新增Dockerfile, docker-compose.yml和nginx.conf
bash 复制代码
FROM nginx:alpine

# 复制静态资源
COPY ./dist /usr/share/nginx/html

# 复制 Nginx 配置
COPY ./nginx.conf /etc/nginx/conf.d/default.conf

EXPOSE 80

CMD ["nginx", "-g", "daemon off;"]
XML 复制代码
version: '3.8'

services:
  frontend:
    build: .
    ports:
      - "80:80"
    extra_hosts:
      - "host.docker.internal:host-gateway"
    restart: unless-stopped
bash 复制代码
server {
    listen 80;
    server_name localhost;

    location / {
        root /usr/share/nginx/html;
        index index.html index.htm;
        try_files  $uri  $ uri/ /index.html;
    }

    location /api/v1/ {
        proxy_pass http://host.docker.internal:8000/api/v1/;  # 这里填你实际后端的端口+转发路径
        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;
    }
}
  1. npm run build打包后将dist目录和这三个文件放到同一个文件夹下,将这个文件夹发到远程机器上,命令行进入该目录下,运行命令:
bash 复制代码
docker compose up -d
  1. 可进一步查看log,没报错后访问ip看到页面即部署成功

这只是个很基本的部署...

相关推荐
大囚长1 分钟前
Kubernetes 的资源开销、适用边界,以及游戏与有状态负载的工程现实
游戏·容器·kubernetes
程序员大雄学编程7 分钟前
Linux 磁盘满了怎么排查?df / du / find 三步定位大文件
linux·运维·php
Bruce_Liuxiaowei20 分钟前
前端校验登录态,等于没校验——一次应急广播终端高危漏洞的发现与报送
运维·前端·安全
时间售卖铺1 小时前
Docker私有仓库搭建与实战指南
运维·docker·云原生·容器
快乐的熊二1 小时前
每天自动领积分:Trae CN + WorkBuddy 签到自动化
运维·自动化
skywalk81631 小时前
卡不等于分支:我用 TRAE 宝配合 Hive 跑三张任务卡的一天
运维·人工智能·hive·trae
DarkAthena1 小时前
【GaussDB】把GaussDB开发者版本做成88MB的docker镜像
docker·gaussdb
znnnk1 小时前
【Fetch】AI 自动化中的应用——从接口请求到数据获取
运维·自动化
2501_927283582 小时前
同样是自动化立库,堆垛机和四向车差别在哪里?
运维·自动化
手可摘星陳×2 小时前
10-运维排障篇-无线排障框架与常见故障-诊断矩阵速查
运维·网络