挂载方式部署项目

一、核心思想

  • 不把前端文件打包进镜像,而是使用官方 Nginx 镜像
  • 通过 -v(或 --volume)参数,将主机上的 dist/ 目录挂载到容器内的 Nginx 默认 Web 根目录(如 /usr/share/nginx/html)
  • Nginx 配置可通过挂载自定义配置文件实现反向代理等逻辑

💡 优点:修改前端文件无需重建镜像,刷新即生效

⚠️ 缺点:依赖主机路径,可移植性差,权限问题较常见


二、部署步骤(完整流程)

第 1 步:构建前端项目,生成 dist/目录

复制代码
npm run build
# 输出通常为 dist/ 或 build/

假设你的前端产物在:

复制代码
/root/wanchuang_Platform/dist/

第 2 步:准备 Nginx 配置文件( default.conf)

创建 /root/wanchuang_Platform/default.conf:

复制代码
server {
    listen 8085;
    server_name localhost;
    root /usr/share/nginx/html;
    index index.html;

    # 代理后端 API
    location /admin/ {
        proxy_pass http://127.0.0.1:8080;  # 若用 --network host
        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;
    }

    # 支持前端路由(如 Vue Router history 模式)
    location / {
        try_files $uri /index.html;
    }
}

第 3 步:启动容器并挂载文件和配置

复制代码
podman run -d \
  --name wanchuang_platform \
  --network host \          # 共享主机网络,便于访问后端
  -v /root/wanchuang_Platform/dist:/usr/share/nginx/html:ro,Z \  # 挂载前端文件
  -v /root/wanchuang_Platform/default.conf:/etc/nginx/conf.d/default.conf:ro,Z \  # 挂载配置
  nginx:alpine

🔑 参数说明:

  • -v 源路径:容器路径:ro,Z
    • ro:只读(安全)
    • Z:自动设置 SELinux 标签(解决权限拒绝问题,阿里云 CentOS 必加)
  • --network host:让容器能通过 127.0.0.1 访问主机上的后端服务

第 4 步:访问应用

根据配置中的 listen 8085;,访问:

复制代码
http://47.116.170.161:8085/user/login
相关推荐
zach17 分钟前
前端落地实战:Next.js 项目 Nginx + PM2 生产部署全流程(附踩坑总结)
前端·pm2·next.js
overmind26 分钟前
oeasy教h5前端001 修改的乐趣_直接修改在线网页
前端
只睡四小时31 分钟前
JS 手写 D-pad 空间导航:电视端焦点引擎实战
android·开发语言·前端·javascript·ecmascript·hls·空间导航
恋猫de小郭33 分钟前
Android 原生的 Compose A2UI 也来了,你还抱着 XML 养老吗?
android·前端·flutter
庄园特聘拆椅狂魔34 分钟前
从连连看到粒子消散——前端小游戏与视觉特效的技术选型
前端
极光通讯1 小时前
呆滞库存回收定价逻辑:如何评估DDR4内存和SATA SSD的回收价值
服务器·ssd
技术人生0011 小时前
VMware Workstation 安装 Ubuntu 24.04 LTS 完整教程
运维·服务器·ubuntu
JudithHuang1 小时前
React 常用 Hooks
前端·react.js·前端框架
YumiProxy1 小时前
动态IP冲突排查实战:从ARP检测到DHCP地址池的完整链路
服务器·网络·网络协议·tcp/ip·ip
ai小陈1 小时前
GPU服务器租用容器实战:Docker数据卷持久化与安全重建
服务器·人工智能·安全·docker·ai·gpu算力