|
@@ -0,0 +1,32 @@
|
|
|
+# node项目再docker上维护
|
|
|
+> 此文记录再nas上使用docker进行运行node项目
|
|
|
+> 不包含镜像制作的部分内容
|
|
|
+
|
|
|
+## 环境管理
|
|
|
+### 资源上传
|
|
|
+为了方便维护, 直接将打包好的程序给上传到对应的node目录
|
|
|
+
|
|
|
+### 目录映射
|
|
|
+因为缺少依赖, 需要用`npm`将依赖进行安装
|
|
|
+但是docker会因为些问题导致npm运行异常.
|
|
|
+这里查看日志看见没有权限对`/root/.npm`目录进行写入.
|
|
|
+所以这里直接将本地的一个目录挂载至`docker`上, 并给与权限.
|
|
|
+成功解决问题.
|
|
|
+
|
|
|
+### 启动脚本制作
|
|
|
+1. 创建一个文件, 命名为`start.js`
|
|
|
+
|
|
|
+2. 写入如下内容
|
|
|
+```javascript
|
|
|
+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' });
|
|
|
+```
|