如何在通过 docker 启动 Node-red 服务器时加载特定流?

How to load a specific flow whenever Node-red server is started through docker?

我是 运行 Node-red 服务器,通过 docker-compose 每次执行 'docker-compose up' 时都会创建新流。如何防止这种情况发生?以及如何 load/import 一个特定的流而不是新的流,因为每次都将节点复制到新流上很忙?谢谢!

nodered_1        | 9 Jan 05:32:55 - [warn] ------------------------------------------------------
nodered_1        | 9 Jan 05:32:55 - [warn] [node-red/rpi-gpio] Info : Ignoring Raspberry Pi specific node
nodered_1        | 9 Jan 05:32:55 - [warn] ------------------------------------------------------
nodered_1        | 9 Jan 05:32:55 - [info] Settings file  : /var/node-red/settings.js
nodered_1        | 9 Jan 05:32:55 - [info] User directory : /var/node-red
nodered_1        | 9 Jan 05:32:55 - [info] Flows file     : /var/node-red/flows_dc4a44db1d02.json
nodered_1        | 9 Jan 05:32:55 - [info] Creating new flow file
nodered_1        | 9 Jan 05:32:55 - [info] Starting flows
nodered_1        | 9 Jan 05:32:55 - [info] Started flows
nodered_1        | 9 Jan 05:32:55 - [info] Server now running at http://127.0.0.1:1880/

您需要传入要使用的流的名称,README Node-RED docker 图像中描述了如何执行此操作:

$ docker run -it -p 1880:1880 -e FLOWS=my_flows.json nodered/node-red-docker

您还需要挂载您自己的数据目录,以便在创建的新实例中保持流,同样,这在 README here

$ docker run -it -p 1880:1880 -v ~/.node-red:/data --name mynodered nodered/node-red-docker

所以结合这 2 将得到你:

$ docker run -it -p 1880:1880 -e FLOWS=my_flow.json -v ~/.node-red:/data --name mynodered nodered/node-red-docker

您必须使用该命令行并将其映射到 docker-compose 文件中。