2017-06-21 130 views
0

我想製作自己的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節點。

+1

更新中的docker文件工作得很好,mongo節點將在存儲組中找到。 '-e FLOWS = flows.json'只是命名容器中的流文件,如果你想添加一個現有的流到圖像,那麼你需要添加一個額外的行到Dockerfile'ADD flows.json/data/flows .json'將文件複製到圖像 – hardillb

回答

1

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