容器中的节点红色插件:节点丢失
Node Red Plugin in Container: Node missing
我为红色节点写了一个自定义节点,一切正常。
现在我需要将所有内容放入 docker 容器中。节点红色为 运行 并且安装了依赖,但是节点没有显示在界面上。我没有收到任何错误消息,即使我没有包含文件,是什么导致了独立版本的错误。
我的package.json:
{
"name": "boolean_nodes",
"version": "1.0.0",
"description": "Nodes for boolean operation.",
"dependencies": {
"node-red": "*",
"node-red-contrib-home-assistant-websocket": "*",
"mqtt": "*"
},
"scripts": {
"start": "node-red"
},
"author": "",
"license": "ISC",
"node-red": {
"nodes": {
"BOOL-Switch": "./data/bool/switch/bool_switch.js",
"BOOL-AND": "./data/bool/and/bool_and.js",
"BOOL-OR": "./data/bool/or/bool_or.js",
"ML-Interface": "mlinterface.js"
}
}
}
我的docker文件:
FROM nodered/node-red
# Copy package.json to the WORKDIR so npm builds all
# of your added nodes modules for Node-RED
COPY package.json .
RUN npm install --unsafe-perm --no-update-notifier --no-fund --only=production
# Copy _your_ Node-RED project files into place
COPY /data/bool/switch/bool_switch.js /data/bool/switch/bool_switch.js
COPY /data/bool/switch/bool_switch.html /data/bool/switch/bool_switch.html
COPY /data/bool/and/bool_and.js /data/bool/and/bool_and.js
COPY /data/bool/and/bool_and.html /data/bool/and/bool_and.html
COPY /data/bool/or/bool_or.js /data/bool/or/bool_or.js
COPY /data/bool/or/bool_or.html /data/bool/or/bool_or.html
如果对文件的不同路径进行了试验,但不会导致任何不同的行为。
如何在容器中获取插件?
通常你会把你的节点打包成一个 npm 模块然后 npm 安装它。
在这种情况下,您仍然可以加载我们称为 'local' 未正确打包的节点。默认情况下,Node-RED 将在 node-red 用户目录的 nodes
目录下查找。
在docker图像中,/data
被用作用户目录。
所以您应该将文件复制到 /data/nodes/
下的某处
我为红色节点写了一个自定义节点,一切正常。 现在我需要将所有内容放入 docker 容器中。节点红色为 运行 并且安装了依赖,但是节点没有显示在界面上。我没有收到任何错误消息,即使我没有包含文件,是什么导致了独立版本的错误。
我的package.json:
{
"name": "boolean_nodes",
"version": "1.0.0",
"description": "Nodes for boolean operation.",
"dependencies": {
"node-red": "*",
"node-red-contrib-home-assistant-websocket": "*",
"mqtt": "*"
},
"scripts": {
"start": "node-red"
},
"author": "",
"license": "ISC",
"node-red": {
"nodes": {
"BOOL-Switch": "./data/bool/switch/bool_switch.js",
"BOOL-AND": "./data/bool/and/bool_and.js",
"BOOL-OR": "./data/bool/or/bool_or.js",
"ML-Interface": "mlinterface.js"
}
}
}
我的docker文件:
FROM nodered/node-red
# Copy package.json to the WORKDIR so npm builds all
# of your added nodes modules for Node-RED
COPY package.json .
RUN npm install --unsafe-perm --no-update-notifier --no-fund --only=production
# Copy _your_ Node-RED project files into place
COPY /data/bool/switch/bool_switch.js /data/bool/switch/bool_switch.js
COPY /data/bool/switch/bool_switch.html /data/bool/switch/bool_switch.html
COPY /data/bool/and/bool_and.js /data/bool/and/bool_and.js
COPY /data/bool/and/bool_and.html /data/bool/and/bool_and.html
COPY /data/bool/or/bool_or.js /data/bool/or/bool_or.js
COPY /data/bool/or/bool_or.html /data/bool/or/bool_or.html
如果对文件的不同路径进行了试验,但不会导致任何不同的行为。 如何在容器中获取插件?
通常你会把你的节点打包成一个 npm 模块然后 npm 安装它。
在这种情况下,您仍然可以加载我们称为 'local' 未正确打包的节点。默认情况下,Node-RED 将在 node-red 用户目录的 nodes
目录下查找。
在docker图像中,/data
被用作用户目录。
所以您应该将文件复制到 /data/nodes/