佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > Docker鏡像+nginx 部署 vue 項(xiàng)目的方法

Docker鏡像+nginx 部署 vue 項(xiàng)目的方法

熱門標(biāo)簽:阿里云 智能手機(jī) 網(wǎng)站建設(shè) 檢查注冊表項(xiàng) 使用U盤裝系統(tǒng) 美圖手機(jī) 硅谷的囚徒呼叫中心 百度競價點(diǎn)擊價格的計算公式

一、打包vue項(xiàng)目

  在開發(fā)完的vue項(xiàng)目輸入如下命名,打包生成dist文件夾

yarn build / npm run build

  此時根目錄會多出一個文件夾:dist文件夾,里面就是我們要發(fā)布的東西。

  如果將該dist目錄整個傳到服務(wù)器上,部署成靜態(tài)資源站點(diǎn)就能直接訪問到該項(xiàng)目。

二、獲取nginx 鏡像

  nginx 是一個高性能的HTTP和反向代理服務(wù)器,此處我們選用 nginx 鏡像作為基礎(chǔ)來構(gòu)建我們的vue應(yīng)用鏡像。

  在終端輸入:

docker pull nginx

  即可以獲取到nginx鏡像。

  Docker鏡像是一個特殊的文件系統(tǒng),除了提供容器運(yùn)行時所需的程序、庫、資源、配置等文件外,還包含了一些為運(yùn)行時準(zhǔn)備的一些配置參數(shù)(如匿名卷、環(huán)境變量、用戶等)。 鏡像不包含任何動態(tài)數(shù)據(jù),其內(nèi)容在構(gòu)建之后也不會被改變。

  在終端輸入如下命令,可以看到nginx的鏡像

docker image ls

  鏡像結(jié)果如下所示:

三、創(chuàng)建 nginx config配置文件

  在項(xiàng)目根目錄下創(chuàng)建nginx文件夾,該文件夾下新建文件default.conf

server {
  listen    80;
  server_name localhost;

  #charset koi8-r;
  access_log /var/log/nginx/host.access.log main;
  error_log /var/log/nginx/error.log error;

  location / {
    root  /usr/share/nginx/html;
    index index.html index.htm;
    try_files $uri $uri/ /index.html;
  }

  #error_page 404       /404.html;

  # redirect server error pages to the static page /50x.html
  #
  error_page  500 502 503 504 /50x.html;
  location = /50x.html {
    root  /usr/share/nginx/html;
  }
}

   注意⚠️:如果vue-router使用的是history模式,try_files $uri $uri/ /index.html; 非常重要!??!

  因?yàn)槲覀兊膽?yīng)用是單頁客戶端應(yīng)用,如果后臺沒有正確的配置,當(dāng)用戶在瀏覽器訪問地址時,就會返回404。

  所以需要在服務(wù)端增加一個覆蓋所有情況的候選資源,如果URL匹配不到任何靜態(tài)資源,則應(yīng)該返回同一個index.html頁面,這個頁面就是你app依賴的頁面。

  上面的文件定義了首頁的指向?yàn)?/usr/share/nginx/html/index.html, 所以我們可以一會把構(gòu)建出來的index.html文件和相關(guān)的靜態(tài)資源放到/usr/share/nginx/html目錄下。

四、創(chuàng)建 Dockerfile 文件

# 設(shè)置基礎(chǔ)鏡像
FROM nginx
# 定義作者
MAINTAINER lihui <1107136746@qq.com>
# 將dist文件中的內(nèi)容復(fù)制到 /usr/share/nginx/html/ 這個目錄下面
COPY dist/ /usr/share/nginx/html/
#用本地的 default.conf 配置來替換nginx鏡像里的默認(rèn)配置
COPY nginx/default.conf /etc/nginx/conf.d/default.conf

五、基于該Dockerfile構(gòu)建vue應(yīng)用鏡像

  運(yùn)行如下命令,注意不要少了最后的“ . ”

docker build -t test .

  -t 是給鏡像命名 ,test是生成鏡像的名字,. 是基于當(dāng)前目錄的Dockerfile來構(gòu)建鏡像。

  基于vue的鏡像就生成好了!

以上就是Docker鏡像+nginx 部署 vue 項(xiàng)目的方法的詳細(xì)內(nèi)容,更多關(guān)于docker部署vue項(xiàng)目的資料請關(guān)注腳本之家其它相關(guān)文章!

標(biāo)簽:煙臺 湘潭 湖北 黃山 賀州 山南 通遼 懷化

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Docker鏡像+nginx 部署 vue 項(xiàng)目的方法》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    卢氏县| 新郑市| 台东县| 修水县| 滕州市| 石台县| 五常市| 中卫市| 临澧县| 孙吴县| 长武县| 吴忠市| 瑞昌市| 沙湾县| 新乡县| 措美县| 调兵山市| 扶绥县| 门源| 长宁区| 隆安县| 勐海县| 正镶白旗| 梧州市| 囊谦县| 海伦市| 曲周县| 遵化市| 沙雅县| 广宗县| 青河县| 吉安市| 安达市| 噶尔县| 盐城市| 志丹县| 侯马市| 南雄市| 绥阳县| 新河县| 沅陵县|