Linux下使用docker nginx部署vue前端項目工程

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…