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 小时前
SRC常见漏洞情况分类
运维·安全·安全威胁分析
SkyXZ~2 小时前
Jetson有Jtop,Linux有Htop,RDK也有Dtop!
linux·运维·服务器·rdkx5·rdks100·dtop
舒一笑2 小时前
一次“翻车”的部署,让我看清了技术、权力和职场的真相
运维·程序员·创业
杨云龙UP3 小时前
Oracle Data Pump实战:expdp/impdp常用参数与导入导出命令整理_20260406
linux·运维·服务器·数据库·oracle
我科绝伦(Huanhuan Zhou)4 小时前
分享一个服务故障自愈系统
运维·人工智能·自动化
正经教主4 小时前
【docker基础】第一课、从零开始理解容器技术
docker·云原生·容器·eureka
失伟5 小时前
Stratovirt安装及使用
运维·虚拟化
萌萌哒草头将军5 小时前
CloudDock(云仓):新一代开源NAS网络代理工具
服务器·网络协议·docker
捧月华如6 小时前
Linux 系统性能压测工具全景指南(含工程实战)
linux·运维·服务器
s19134838482d6 小时前
vlan实验报告
运维·服务器·网络