1、使用Docker和Nginx部署Vue项目的步骤

1、准备好VUE项目,已打包编译

2、docker环境已完成安装

3、本地环境上创建nginx目录,下包括conf,html,logs目录。用于容器映射(其实是方便修改文件,因为在容器中不方便修改,在修改后restart容器即可加载)

4、拉取nginx镜像

5、创建容器并映射至之前的目录

6、启动容器

7、验证

2、详细步骤

2.1、准备Vue项目

确保Vue项目已构建完成,生成静态文件。在项目根目录运行以下命令:

npm run build

2.2、docker环境已安装

docker info

2.3、创建本地映射目录

在本地环境中自定义一个目录:示例是在/home/d_app/nginx

# 容器映射目录
mkdir -p /usr/share/nginx/conf
mkdir -p /usr/share/nginx/html
mkdir -p /usr/share/nginx/logs

在conf目录下创建配置文件:

# conf配置文件
touch /usr/share/nginx/conf/nginx.conf

在nginx.conf文件添加如下配置

# 配置文件内容worker_processes  1;events {worker_connections  1024;
}http {include       mime.types;default_type  application/octet-stream;sendfile        on;keepalive_timeout  65;server {listen     8080;server_name  localhost;location / {root /usr/share/nginx/html;index index.html index.htm;}# 代理转发请求至网关,prod-api标识解决跨域问题# location /prod-api/ {#    proxy_pass http://0.0.0.0:9999/;# }}
}

2.4、拉取镜像

# 拉取镜像
docker pull nginx# 查看镜像
docker images

2.5、创建容器并启动

docker run -it -d \
--name nginx \
-p 8080:8080 \
-v /usr/share/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /usr/share/nginx/html:/usr/share/nginx/html \
-v /usr/share/nginx/logs:/usr/share/nginx/logs \
--restart=always \
nginx 
  • 重新启动新的容器
    下面代码-v前面被处理过,可直接复制使用,\ 表示换下一行继续
    -d: 后台启动
    -p: 宿主机的80端口映射容器的80端口
    -v: 挂载宿主机文件或目录到容器,分别表示配置文件和nginx工作空间目录的映射,冒号左边是宿主机,右边是容器的,这样修改宿主机的配置文件和工作空间就可以同步到容器
    –restart=always: 伴随docker重启自动重启该容器

2.6、创建容器并启动

# 查看容器docker ps -a# 查看nginx启动日志docker logs nginx

2.7、启动、关闭、重启nginx

# 启动
docker start nginx# 停止
docker stop nginx# 重启
docker restart nginx

2.8、验证部署

访问http://localhost:8080,确认前端应用正常运行。

3、注意事项

  • 确保dist目录已生成且包含index.html
  • 若需支持SPA路由,必须配置Nginx的try_files规则。
  • 拉取镜像时,有可能会报错:Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/88554.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/88554.shtml
英文地址,请注明出处:http://en.pswp.cn/diannao/88554.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从实验室到生产线:机器学习模型部署的七大陷阱及PyTorch Serving避坑指南

1 实验室与生产环境的鸿沟:为什么99%的模型部署会失败? (1)部署失败的真实数据统计 根据2023年MLOps行业报告: 78%的组织表示模型部署时间超过预期65%的模型部署后性能下降超过20%仅12%的组织能在一周内完成模型更新…

Module not found: Error: Can‘t resolve ‘core-js/modules/es.array.concat.js‘

遇到错误“Module not found: Error: Can’t resolve ‘core-js/modules/es.array.concat.js’”通常是因为你的项目中使用了core-js库,但是你的项目配置或者core-js的版本不支持你正在尝试使用的功能。下面是一些解决这个问题的步骤: 确认core-js版本 …

Windows10中设置多个虚拟IP方法

一.netsh 命令添加(最直接、最简单) 1.在 Windows 10 中,使用 netsh 命令为现有物理网卡或虚拟网卡添加额外的 IP 地址(IP Alias)是最直接的方法。这些 IP 地址与主 IP 在同一网段,共享同一张网卡的 MAC 地…

回答 如何通过inode client的SSLVPN登录之后,访问需要通过域名才能打开的服务

需要dns代理 1 配置需求或说明 1.1 适用的产品系列 本案例适用于软件平台为Comware V7系列防火墙:本案例适用于如F5080、F5060、F5030、F5000-M等F5000、F5000-X系列的防火墙。 注:本案例是在F100-C-G2的Version 7.1.064, Release 9510P08版本上进行…

Jenkins通过Pipeline流水线方式编译前端项目

本文记录了本人在前端项目持续集成与自动化部署方面的实践经验,使用 Jenkins 官方 jenkins:lts 镜像为基础,构建支持 Node.js 构建和压缩能力的运行环境,并通过声明式 Pipeline 实现一套多环境(SIT/PROD)可选的一键部署…

Dockerfile 镜像构建

目录 简介 一、Docker镜像概念与结构 1.1 镜像的分层存储机制 1.2 镜像分层的关键特性 二、Dockerfile语法 2.1 基础构建指令 2.2 环境配置指令 2.3 文件操作指令 2.4 运行时指令 2.5 网络与数据管理 三、实战案例 3.1 构建Nginx Web服务器 3.2 构建Tomcat应用服务…

Docker Desktop 4.42集成的MCP工具包

一、介绍 Docker Desktop 4.42 集成了 MCP(Model‑Client‑Plugin)Toolkit,无需额外安装扩展即可直接使用。 MCP Toolkit 集成细节 内置于 Docker Desktop:你可以直接打开应用,在设置中启用 MCP 服务器,比…

CUDA NCU Occupancy学习笔记

占用率是每个多处理器的活跃 Warp 数量与最大可能活跃 Warp 数量的比率。另一种查看占用率的方式是,硬件处理 Warp 的能力中,实际使用 Warp 的百分比。较高的占用率并不一定能带来更高的性能,然而,较低的占用率总是会降低隐藏延迟…

配置自己的NTP 服务器做时间同步

✅ 推荐方案:使用 chrony 搭建 NTP 服务器(适用于 CentOS 7/8/9) chrony 是 CentOS 推荐的 NTP 实现,精度高、资源占用低、同步快,默认在 CentOS 8 中取代了 ntpd。 🔧 一、安装 chrony sudo yum install…

【运维系列】Plane 开源项目安装和配置指南

Plane是一个用现代前端技术栈(Next.js TailwindCSS)开发的开源项目管理平台,核心理念是 Bring Structure to Chaos" —— 给混乱的项目管理带来结构感。 1.项目地址 gitHub 2.项目使用的关键技术和框架 Plane 项目使用了多种关键技术…

3.读取图片和图片采集

目录 一、Halcon 1. 图片的基本概念 2. 获取图片方式1-读取本地图片 3. 获取图片方式2-在线采集 4. C#获取图片数据架构 二、VS联合编程 1. 读取本地图片 2.在线采集 一、Halcon 1. 图片的基本概念 1. 图片2. 像素 3. 分辨率4. 位深度5. 不同后缀1. png jpg 2. bmp 6…

前端流式接口/Socket.IO/WebSocket的区别和选用

WebSocket: 定义:WebSocket是一种在单个TCP连接上进行全双工通信的协议,实现了客户端与服务器之间的实时双向通信。特点:基于HTTP协议,但通过握手升级为WebSocket协议,支持持久连接,减少延迟和带…

QT 学习笔记摘要(二)

第一节 常用控件 1. QWidget 核心属性 1.1 objectName 1.2 enabled API说明 isEnabled() 获取到控件的可⽤状态 setEnabled() 设置控件是否可使⽤. true 表⽰可⽤, false 表⽰禁⽤ 1.3 geometry && window frame geometry: x y width height API 说明 geom…

FastAPI + Redis 高性能任务队列实现:AI内容生成系统实践

FastAPI Redis 高性能任务队列实现:AI内容生成系统实践 引言 在现代应用中,任务队列是处理资源密集型操作的重要组件。本文将详细介绍一个基于FastAPI和Redis实现的高性能任务队列系统,该系统用于处理AI图片和视频的生成请求。我们将从架构…

光学跟踪系统在汽车远程设计验证中的应用优势

在汽车制造行业,传统设计验证流程依赖实体模型评审,存在周期长、成本高、跨地域协作困难等痛点。随着光学跟踪技术的突破,以ART、OptiTrack为代表的高精度光学追踪系统正重塑汽车远程设计验证的范式。本文从技术原理、应用场景及产业价值三个…

windows 访问ubuntu samba配置

1. 启用文件共享和SMB 1.0/CIFS支持 首先,确保Windows启用了文件共享和SMB 1.0/CIFS支持1。 步骤: 打开控制面板 -> 程序 -> 程序和功能 -> 启用或关闭Windows功能。 勾选“SMB 1.0/CIFS 文件共享支持”。 2. 启用不安全的来宾登录 有时需要启用不安…

Apache Doris 3.0.6 版本正式发布

亲爱的社区小伙伴们,Apache Doris 3.0.6 版本已于 2025 年 06 月 16 日正式发布。 该版本进一步提升了系统的性能及稳定性,欢迎大家下载体验。 GitHub 下载 官网下载 行为变更 禁止 Unique 表使用时序 Compaction存算分离场景下 Auto Bucket 单分桶容…

安全帽检测数据集简介(约2万张图片)

安全帽检测数据集简介(约2万张图片) 📦 已发布目标检测数据集合集(持续更新)安全帽检测数据集简介(约2万张图片)📁 数据集概况🖼️ 数据样本展示 YOLOv8 训练实战&#x…

RJ45 网口实现千兆传输速率(1Gbps)的原理,涉及物理层传输技术、线缆标准、信号调制及网络协议等多方面的协同设计。以下从技术维度展开详细解析:

一、千兆以太网的标准与物理层基础 1. 标准规范 千兆以太网遵循 IEEE 802.3ab(针对双绞线)和 IEEE 802.3z(针对光纤)标准,其中 RJ45 接口对应双绞线场景,核心是通过四对双绞线(CAT5e/CAT6 线缆…

Node.js爬虫 CheerioJS ‌轻量级解析、操作和渲染HTML及XML文档

简介 ‌ CheerioJS ‌ 是一个专为 Node.js 设计的轻量级库&#xff0c;用于解析、操作和渲染 HTML 及 XML 文档&#xff0c;语法类似 Jquery。 安装 npm install cheerio 示例 const cheerio require("cheerio");const html <html><head><tit…