node-red
This commit is contained in:
+29
@@ -0,0 +1,29 @@
|
||||
# 1. 使用官方 Node.js 20-alpine 镜像作为基础
|
||||
FROM node:20-alpine
|
||||
|
||||
# 2. 在容器中创建并设置工作目录
|
||||
WORKDIR /usr/src/app
|
||||
|
||||
# 3. 复制 package.json 和 package-lock.json (如果存在)
|
||||
# 这样可以利用 Docker 的层缓存机制,只有在依赖更新时才重新安装
|
||||
COPY package*.json ./
|
||||
|
||||
# 4. 安装所有依赖(包括构建所需的 devDependencies)
|
||||
RUN npm install
|
||||
|
||||
# 5. 复制项目的所有源代码到工作目录
|
||||
COPY . .
|
||||
|
||||
# 6. 运行构建脚本,生成生产环境的前端资源
|
||||
RUN npm run build
|
||||
|
||||
# 7. 创建一个挂载点用于持久化 Node-RED 的用户数据(流程、凭证等)
|
||||
# 官方推荐的目录是 /data
|
||||
VOLUME /data
|
||||
|
||||
# 8. 暴露 Node-RED 运行的端口
|
||||
EXPOSE 1880
|
||||
|
||||
# 9. 定义容器启动时运行的命令
|
||||
# 使用 --userDir /data 来告诉 Node-RED 在哪里存储用户数据
|
||||
CMD [ "npm", "run", "start", "--", "--userDir", "/data" ]
|
||||
Reference in New Issue
Block a user