我为节点红色编写了一个自定义节点,并且一切正常。
现在,我需要将所有内容放入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"
        }
    }
}
我的dockerfile:
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安装它。
在这种情况下,您仍然可以加载未正确打包的所谓“本地”节点。默认情况下,Node-RED将在node-red用户目录的nodes目录下查找。
在docker镜像中,/data用作用户目录。
因此,您应该将文件复制到/data/nodes/下的某个位置

10-06 08:29