Docker Секреты Роя + Порттейнер - PullRequest
0 голосов
/ 04 августа 2020

Я запускаю свой Node-Red на Docker Swarm + Portainer. Я хочу определить несколько учетных данных, например, некоторые для разработки, некоторые для тестирования и некоторые для производства, чтобы я мог создать 3 контейнера, по одному для каждой среды, и использовать соответствующие учетные данные для каждого из них. Я немного сбит с толку относительно правильного выбора - насколько я понимаю, я могу использовать Docker Swarm Secrets, но тогда я не знаю, как получить к ним доступ из редактора Node-Red; или я могу использовать "credentialsSecret" в настройках. js - но я не уверен, подходит ли он для нескольких учетных данных.

Может ли кто-нибудь помочь? Заранее спасибо!

1 Ответ

0 голосов
/ 05 августа 2020

Предполагая, что учетные данные передаются в контейнеры как переменные среды, они могут быть включены в конфигурацию узлов следующим образом:

Любое свойство узла может быть установлено с помощью переменной среды, установив его значение в строку вида ${ENV_VAR}. Когда среда выполнения загружает потоки, она заменяет значение этой переменной среды перед передачей ее узлу.

Это работает, только если заменяет все свойство - его нельзя использовать для замены только части значения . Например, невозможно использовать CLIENT-${HOST}.

Например, если у вас есть переменная среды с именем MQTT_PASSWORD, которая содержит пароль для использования при подключении к вашему брокеру MQTT, вы должны ввести ${MQTT_PASSWORD} в поле пароля для узла конфигурации брокера MQTT.

Это будет заполнено, когда среда выполнения Node-RED загрузит поток.

Вы можете прочитать больше в документации Node-RED здесь

...