构建自定义节点RED图像
问题描述:
我想制作自己的Node-RED泊坞窗图像,因此当我启动它时,会加载流并且Node-RED已准备就绪。构建自定义节点RED图像
我想加载的流被放置在'flows.json'文件中。当我通过接口手动导入它时,它工作正常。
的码头工人节点-RED文档建议启动节点RED使用自定义以下行流
$ docker run -it -p 1880:1880 -e FLOWS=my_flows.json nodered/node-red-docker
然而,当我尝试这样做流程结束了空。
我怀疑这必须做一些事实,我试图加载的流程是使用'node-red-node-mongodb'插件,它并未默认安装。
如何构建已安装'node-red-node-mongodb'的Node-RED映像?
如果需要了解更多信息,请询问。
UPDATE
我做了如下Dockerfile:
FROM nodered/node-red-docker
RUN npm install node-red-node-mongodb
然后,我建立它:
docker build -t testenvironment/nodered .
而且随着它开始:
docker run -d -p 1880:1880 -e FLOWS=flows.json --name node-red testenvironment/nodered
但是当我进入Node-RED接口时没有流量。此外,我没有在边栏中看到MongoDB节点。
答
Node-RED站点上的documentation包含有关如何自定义Docker镜像和添加额外节点的说明。
FROM nodered/node-red-docker
RUN npm install node-red-node-mongodb
然后:您可以通过登录到现有的图像使用docker exec
和手npm
# Open a shell in the container
docker exec -it mynodered /bin/bash
# Once inside the container, npm install the nodes in /data
cd /data
npm install node-red-node-mongodb
exit
# Restart the container to load the new nodes
docker stop mynodered
docker start mynodered
否则安装的节点,则可以通过创建自己的码头工人文件扩展图像做使用
docker build -t mynodered:<tag> .
+0
谢谢你的帮助。我仍然没有弄明白。你能看看更新的问题吗? – Jan
更新中的docker文件工作得很好,mongo节点将在存储组中找到。 '-e FLOWS = flows.json'只是命名容器中的流文件,如果你想添加一个现有的流到图像,那么你需要添加一个额外的行到Dockerfile'ADD flows.json/data/flows .json'将文件复制到图像 – hardillb