健康检查报错及dockerfile配置 部署新的服务 vue流程详解和报错解决

本文详细描述了在使用Vue开发服务时,如何配置Dockerfile进行部署,以及如何设置健康检查机制。涉及到npm安装、server.js编写、健康检查接口和package.json的修改。还讨论了如何确保静态资源正确加载和部署配置细节。
摘要由CSDN通过智能技术生成

健康检查报错及dockerfile配置 部署新的服务 vue流程详解和报错解决
配置方面

dockerfile 配置
# Set app directory and environment variable
WORKDIR /root/app
ENV NPM_CONFIG_REGISTRY http://npm.zhonganinfo.com

# Install app dependencies
COPY package*.json /root/app/
# RUN npm install --no-optional --no-audit
RUN npm ci

# Bundle app source
COPY . /root/app

# Build app source
RUN npm run build
EXPOSE 8080
CMD [ "npm", "start" ]


在这里插入图片描述
构建环境选 alios

在这里插入图片描述
在这里插入图片描述
减少健康阈值会检查快点
探测时间10-30s 少了检测不到长了太慢

在这里插入图片描述
不通过是还要配置项目代码

前端代码方面
健康检查本质是调用 服务器域名 + /health 来进行健康检查调用到就通过
新建vue.config.js同级文件 server.js 内容如下

'use strict';

// Constants
const PORT = 8080;
const HOST = '0.0.0.0';
const REQUEST_ID_HEADER = 'x-fc-request-id'

const express = require('express');
const bodyParser = require('body-parser');
const app = express();

app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
app.use(bodyParser.raw());

app.get('/health', (req, res) => {
  console.log(`receive health check`);
  res.status(200);
  console.log(`i am ready`);
  res.send('i am ready\n');
});

// invocation
app.post('/invoke', (req, res) => {
  var rid = req.headers[REQUEST_ID_HEADER]
  console.log(`FC Invoke Start RequestId: ${rid}`)
  res.send('OK');
  console.log(`FC Invoke End RequestId: ${rid}`)
});

var server = app.listen(PORT, HOST);
console.log(`Running on http://${HOST}:${PORT}`);
app.use(express.static('dist'));  //调用编译后的静态资源
app.use(function (req, res, next) {
  // 启用 CORS
  res.header('Access-Control-Allow-Origin', '*');
 next();  
})
server.timeout = 0; // never timeout
server.keepAliveTimeout = 0; // keepalive, never timeout


package.json

"scripts": {
    "serve": "vue-cli-service serve",
    "build": "vue-cli-service build",
    "start": "node server.js"
  },

!](https://img-blog.csdnimg.cn/direct/59308bd9bc6e45c9aef4eda4e278e939.png)
仔细检查server.js 中的静态资源地址
是不编译到dist里

app.use(express.static('dist'));  //调用编译后的静态资源

vue.config.js

module.exports = {
  publicPath: './',
  assetsDir: 'assets',
}

在这里插入图片描述

大功告成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值