此文记录再nas上使用docker进行运行node项目 不包含镜像制作的部分内容
为了方便维护, 直接将打包好的程序给上传到对应的node目录
因为缺少依赖, 需要用npm
将依赖进行安装
但是docker会因为些问题导致npm运行异常.
这里查看日志看见没有权限对/root/.npm
目录进行写入.
所以这里直接将本地的一个目录挂载至docker
上, 并给与权限.
成功解决问题.
创建一个文件, 命名为start.js
写入如下内容
const { execSync } = require('child_process');
const fs = require('fs');
// 检查 node_modules 是否存在
if (!fs.existsSync('node_modules')) {
console.log('node_modules 不存在,正在安装依赖...');
execSync('npm install', { stdio: 'inherit' });
}
// 启动应用
execSync('node build/app.js', { stdio: 'inherit' });