0

我在 Docker Swarm + Portainer 上运行 Node-Red。我想定义几个凭证,例如一些用于开发,一些用于测试,一些用于生产,以便我可以创建 3 个容器,每个环境一个,并为每个环境使用相关凭证。我对正确的选择方式有点困惑——据我所知,我可以使用 Docker Swarm Secrets,但是我不知道如何从 Node-Red 编辑器访问它们;或者我可以在 settings.js 中使用“credentialsSecret”——但我不确定它是否适合多个凭据。

有人可以帮忙吗?提前致谢!

4

1 回答 1

0

假设凭证作为环境变量传递到容器中,那么它们可以包含在节点配置中,如下所示:

任何节点属性都可以通过将其值设置为形式的字符串来使用环境变量进行设置${ENV_VAR}。当运行时加载流时,它将替换该环境变量的值,然后再将其传递给节点。

这仅在它替换整个属性时才有效 - 它不能用于仅替换部分值。例如,不能使用CLIENT-${HOST}.

例如,如果您有一个名为 的环境变量MQTT_PASSWORD,它保存连接到 MQTT 代理时使用的密码,您将输入${MQTT_PASSWORD}MQTT 代理配置节点的密码字段。

这将在 Node-RED 运行时加载流时填充。

您可以在此处的 Node-RED 文档中阅读更多信息

于 2020-08-05T11:38:13.990 回答