最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue前端項目打包成Docker鏡像并運行的實現(xiàn)

 更新時間:2022年08月09日 14:13:52   作者:Song_Estelle  
這篇文章主要介紹了vue前端項目打包成Docker鏡像并運行的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

vue前端項目打包成Docker鏡像并運行

首先說明咱們的前端項目是基于Vue的,反向代理使用的是nginx

1.打包vue前端項目生成dist文件夾上傳至服務(wù)器

新建一個文件夾,叫vueDockerTest,下面的文件都需要。

cert是你存放ssl證書的文件夾,nginx.conf 是nginx的配置文件,dist是你打包的前端靜態(tài)文件

2.修改Dockerfile文件

# 基于nginx:1.20鏡像
FROM nginx:1.20
# 將dist文件中的內(nèi)容復(fù)制到 /usr/share/nginx/html/ 這個目錄下面
COPY dist/ /usr/share/nginx/html/dist/
# 用本地的 nginx.conf 配置來替換nginx鏡像里的默認配置
COPY nginx.conf /etc/nginx/nginx.conf
# 將證書文件內(nèi)容復(fù)制到/usr/local/nginx/文件夾下
COPY cert/ /usr/local/nginx/cert/

3.修改nginx.conf文件

#user  nobody;
worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    #tcp_nopush     on;
    #keepalive_timeout  0;
    keepalive_timeout  65;
    #gzip  on;
    # HTTPS server
    server {
        listen 443 ssl;
        server_name  localhost;
        ssl_certificate      /usr/local/nginx/cert/server.crt;
        ssl_certificate_key  /usr/local/nginx/cert/server.key;
        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;
        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;
                location / {
            root   /usr/share/nginx/html/dist;
                        try_files $uri $uri/ /index.html;
            index  index.html index.htm;
        }
                location /backend/{
                       proxy_set_header Host $http_host;
                       proxy_set_header X-Real-IP $remote_addr;
                       proxy_set_header REMOTE-HOST $remote_addr;
                       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                       client_max_body_size 20M;
                       proxy_send_timeout 500;
                       proxy_read_timeout 480;
                       proxy_pass http://localhost:8992;
               }
                error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

4.打包成docker鏡像

docker build -t nss-web:1.0 .

執(zhí)行docker images可以查看到已經(jīng)生成的docker鏡像

5.運行前端鏡像容器

容器內(nèi)部的端口號是443 我使用--net=host,就不需要映射端口號了

如果防火墻開著的話,需要放行443和80端口哦

docker run -d --privileged=true --name nss-web1.0 --restart always --net=host nss-web:1.0
--privileged=true        #容器內(nèi)部擁有root權(quán)限
--restart always         #自啟動
--net=host               #網(wǎng)絡(luò)與宿主機保持一致

6.使用https://你的IP地址即可訪問運行

前端將vue打包成鏡像發(fā)布

提示:以下是本篇文章正文內(nèi)容,下面案例可供參考

一、總體預(yù)覽

二、打包配置

2.1 default.conf

server {
    listen       80;
    server_name  localhost;
    location / {
        root   /usr/share/nginx/html/;
        index  index.html index.htm;
        # try_files $uri $uri/ /index.html;
    }
    location /finalLearn {
        alias  /usr/share/nginx/html/;
        # index index.html index.htm;
        try_files $uri /finalLearn/index.html;
    }
    error_page   500 502 503 504  /50x.html;
}

2.2 Dockerfile

# 基礎(chǔ)鏡像
FROM nginx
MAINTAINER cw
# 刪除原有的default.conf文件
RUN rm /etc/nginx/conf.d/default.conf
# 增加自定義default.conf文件到對應(yīng)目錄
ADD default.conf /etc/nginx/conf.d/
# 將dist目錄下的文件復(fù)制到nginx內(nèi)的目錄下,與上文對應(yīng)
COPY dist/ /usr/share/nginx/html/

2.3 打包

docker build -t <自定義tag>

三、問題思考

打包發(fā)布后,有時候出現(xiàn)錯誤 Uncaught SyntaxError: Unexpected token <

大多情況下靜態(tài)文件js、css等訪問不到的問題。具體配置需和前端打包方式對應(yīng)上。

但是如果條件允許可以把js等靜態(tài)文件放在OSS上,這種問題也不會發(fā)生,同時也可cdn加速。具體結(jié)當下場景。 

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Vue監(jiān)控路由與路由參數(shù), 刷新當前頁面數(shù)據(jù)的方法匯總

    Vue監(jiān)控路由與路由參數(shù), 刷新當前頁面數(shù)據(jù)的方法匯總

    這篇文章主要介紹了Vue監(jiān)控路由與路由參數(shù), 刷新當前頁面數(shù)據(jù)的幾種方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2023-10-10
  • 何時/使用 Vue3 render 函數(shù)的教程詳解

    何時/使用 Vue3 render 函數(shù)的教程詳解

    這篇文章主要介紹了何時/使用 Vue3 render 函數(shù)的教程詳解,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • vue2.0移動端滑動事件vue-touch的實例代碼

    vue2.0移動端滑動事件vue-touch的實例代碼

    這篇文章主要介紹了vue2.0移動端滑動事件vue-touch的實例代碼,需要的朋友可以參考下
    2018-11-11
  • 詳解VUE中常用的幾種import(模塊、文件)引入方式

    詳解VUE中常用的幾種import(模塊、文件)引入方式

    這篇文章主要介紹了詳解VUE中常用的幾種import(模塊、文件)引入方式,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • 基于element-ui表格的二次封裝實現(xiàn)

    基于element-ui表格的二次封裝實現(xiàn)

    本文主要介紹了基于element-ui表格的二次封裝實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-07-07
  • vue中倒計時組件的實例代碼

    vue中倒計時組件的實例代碼

    這篇文章主要介紹了vue中倒計時組件的實例代碼,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-07-07
  • vue+web端仿微信網(wǎng)頁版聊天室功能

    vue+web端仿微信網(wǎng)頁版聊天室功能

    這篇文章主要介紹了vue+web端仿微信網(wǎng)頁版聊天室功能,非常不錯,具有一定的參考借鑒價值 ,需要的朋友可以參考下
    2019-04-04
  • Vue寶典之this.$refs屬性的使用

    Vue寶典之this.$refs屬性的使用

    Vue.js中的refs屬性是一個非常有用的特性,它允許我們在組件中操作 DOM 元素和組件實例,本文來介紹一下Vue寶典之this.$refs屬性的使用,感興趣的可以了解一下
    2023-12-12
  • 前端vue實現(xiàn)的h5頁面接入微信支付流程(jsapi方式)

    前端vue實現(xiàn)的h5頁面接入微信支付流程(jsapi方式)

    vue實現(xiàn)微信支付有三種方式,第一種方式是PC端支付,第二種方式是H5支付,第三種方式是微信公眾號支付,這篇文章主要給大家介紹了關(guān)于前端vue實現(xiàn)的h5頁面接入微信支付流程,文中介紹的方法是利用jsapi方式,通過代碼將實現(xiàn)的方法介紹的非常詳細,需要的朋友可以參考下
    2024-01-01
  • vue的toast彈窗組件實例詳解

    vue的toast彈窗組件實例詳解

    本文通過實例給大家講解了vue的toast彈窗組件功能,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友參考下吧
    2018-05-05

最新評論

三门县| 隆安县| 射洪县| 酉阳| 南江县| 长葛市| 社旗县| 肥西县| 马尔康县| 靖江市| 成安县| 阿荣旗| 兴宁市| 广昌县| 开江县| 唐海县| 铅山县| 乐至县| 普定县| 遵义市| 巫山县| 拉萨市| 卢氏县| 驻马店市| 沅陵县| 固阳县| 泰安市| 罗田县| 杨浦区| 元氏县| 阿勒泰市| 天门市| 外汇| 调兵山市| 石城县| 方城县| 玛纳斯县| 和田市| 郁南县| 平顶山市| 西安市|