首页 > 其他分享 >vue serve 部署 步骤说明

vue serve 部署 步骤说明

时间:2022-12-14 14:13:20浏览次数:51  
标签:npm vue RUN URL 步骤 app serve SSL PORT

1. 构建镜像

  docker build -t 镜像名称:镜像TAG --build-arg URL=http://localhost:8081 --build-arg PORT=2000 --build-arg SSL_PORT=443 -f Dockerfile .

  如果不运行https,则要把最后的-S 指定证书与SSL_PORT注释掉

Dockerfile内容如下:

FROM node:14.17.0-alpine
ARG URL=http://localhost:8080/
# 设定URL变量初始值为:http://localhost:8080/
ENV URL ${URL}
# 获取传递的动态URL变量值
RUN echo ${URL}
# 打印动态URL变量值
RUN export NODE_OPTIONS=--max_old_space_size=8172
# 设定临时环境变量
RUN mkdir -p /app
# 在镜像内根目录下 创建文件夹app
COPY ./package.json /app/package.json
# 将执行当前构建命令所在的path的同级package.json文件 复制到镜像内app文件夹中
ARG PORT=3000
# 设定PORT变量初始值为:3000,即http服务的端口
ENV PORT ${PORT} 
# 获取传递的动态PORT变量值,即https服务的端口
ARG SSL_PORT=443
# 设定SSL_PORT变量初始值为:443
ENV SSL_PORT ${SSL_PORT} 
# 获取传递的动态SSL_PORT变量值
RUN npm config set registry https://registry.npm.taobao.org \
&& npm config set sass_binary_site=https://npm.taobao.org/mirrors/node-sass \
&& npm install -g serve
# npm设定淘宝镜像源地址
# 依赖可使用serve或http-server
# RUN npm install -g http-server

RUN cd /app \
     && npm install
# 进入app文件夹下,执行npm install命令
COPY ./ /app
# 将执行当前构建命令所在的path同级的所有文件 复制到镜像内app文件夹中
WORKDIR /app
# 指定WORKDIR 工作目录
# RUN mv /node_modules /app/  如果本地有依赖,且部署环境与当前构建镜像的环境一致
# 则可在当前构建环境中执行 npm install, 然后将依赖文件夹复制到app文件夹中
CMD cd /app \
    && npm run build \
    && serve  -S --ssl-cert ./certificate/server.crt  --ssl-key ./certificate/server.key -p ${SSL_PORT} dist \
    && serve -p  ${PORT}  dist
# 打包
# https 运行(需要证书)
# http 运行
EXPOSE ${SSL_PORT}  ${PORT}

 

标签:npm,vue,RUN,URL,步骤,app,serve,SSL,PORT
From: https://www.cnblogs.com/uoky/p/16981889.html

相关文章

  • 实现一个可拖拽的div(vue3写法)
    constchatbox=ref();constdragx=(el)=>{letoDiv=chatbox.value;//当前元素letdisX=el.clientX-oDiv.offsetLeft;letdisY=el.clientY-oDi......
  • vue查漏补缺
    1.动态参数属性::[]<div:[atrr]="width:100%"></div><script>exportdefault{data:()=>({attrr:’class‘})}</script>......
  • Geoserver中预览图层时放大到某一层级不显示(样式Styles中未设置对应比例尺的样式)
    场景GeoServer简介、下载、配置启动、发布shapefile全流程(图文实践):https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/109636080geoserver在预览图层时,当发......
  • vue3组件el-dialog提取
    父组件:1<template>2<divclass="auto-wrap">3<divclass="content-left">45<el-form:model="addReportForm"label-width="120px">......
  • Vue笔记5--生命周期
    生命周期钩子​ 因为只是为了给毕设做前端,我选择理解即可。但是其实整个Vue的精髓就在整个地方。有时间可以看看尚硅谷相关教程的生命周期部分p48-p52https://www.bilibi......
  • vuex的使用-简单存储
    在写新项目的时候,用input写了个搜索框,搜索之后获取到点击的数据,要将数据在tab中渲染出来,我思前想后,还是觉得vuex是最好的解决办法,记录一下vuex的基本用法首先是在store文......
  • vue+vant移动端制作一个可添加的form提交表单
    <template><van-nav-bartitle="填写参会人员信息"left-text="返回"left-arrow@click-left="onClickLeft"/><!--添加参会人员信息-->......
  • SqlServer查询历史某一时间段写的Sql脚本
    SELECTTOP1000--创建时间QS.creation_time,--执行文本ST.textFROMsys.dm_exec_query_statsQS--关键字CROSSAPPLYsys.dm_exec_sql_text(QS.sql_handle)STWH......
  • Vuex极速入门
    01、什么是Vuex?1.1、为什么需要状态管理?在复杂的系统中,我们会把系统按照业务逻辑拆分为多个层次、多个模块,采用组件式的开发方式。而此时不同模块、父子模块之间的通信......
  • SQLServer 索引语句
    查看某表已存在的索引:execsp_helpindex[TableName]创建索引语句:1CREATE[UNIQUE][CLUSTERED|NONCLUSTERED]INDEX你起的索引名2ON{表名|视图名}(列......