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看到页面即部署成功

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

相关推荐
SkyWalking中文站2 小时前
认识 Horizon UI · 5/17:3D 基础设施地图
运维·监控·自动化运维
SkyWalking中文站1 天前
认识 Horizon UI · 1/17:SkyWalking 新一代可观测性控制台
运维·前端·监控
雪梨酱QAQ1 天前
Kubeneters HA Cluster部署
运维
lichenyang4531 天前
Docker 学习笔记(五):Docker Compose,用一个 YAML 启动前端、后端和 MongoDB
docker
lichenyang4531 天前
Docker 学习笔记(四):Dockerfile,把项目打成自己的镜像
docker·容器
lichenyang4531 天前
Docker 学习笔记(三):Docker 网络、bridge、子网和容器互通
docker·容器
lichenyang4531 天前
Docker 学习笔记(二):docker run 的参数到底在控制什么?
docker·容器
江华森1 天前
Spring Cloud 微服务全栈实战:从 Eureka 到 Docker Compose 一文贯通
运维
江华森1 天前
Matplotlib 数据绘图基础入门
运维
江华森1 天前
NumPy 数值计算基础入门
运维