Node-RED使用指南:4:容器化使用方法

在这里插入图片描述
这篇文章介绍一下如何使用Node-RED的官方镜像。

拉取镜像

使用如下命令拉取官方镜像:

拉取普通版本镜像:docker pull nodered/node-red:版本号

或者

拉取简化版镜像:docker pull nodered/node-red:版本号-minimal

  • 以1.0.4的普通版本为例,拉取命令执行示例如下所示
liumiaocn:~ liumiao$ docker pull nodered/node-red:1.0.4
1.0.4: Pulling from nodered/node-red
..省略
Digest: sha256:be27cf89f0d8491f21ad53236834085c549f8fa75457ed9e695582e1ec141096
Status: Downloaded newer image for nodered/node-red:1.0.4
docker.io/nodered/node-red:1.0.4
liumiaocn:~ liumiao$
  • 镜像确认
liumiaocn:~ liumiao$ docker images |grep nodered
nodered/node-red                                1.0.4                           37f21089d3eb        32 hours ago        448MB
liumiaocn:~ liumiao$ 

注:还有一些其他版本的比如ARM和CPU的位数不同,可根据需要进行相应版本的镜像下载。

环境变量

环境变量名称 环境变量设定内容 环境变量说明
FLOWS 设定的JSON文件 用于指定设定,为空时使用settings.js的设定内容
NODE_RED_ENABLE_SAFE_MODE true或false 设定安全模式开启或者关闭
NODE_RED_ENABLE_PROJECTS true或false 设定项目特性开启或者关闭
NODE_OPTIONS 运行时参数设定 用于调整运行态的设定,比如可以通过指定max_old_space_size来修改Node.js垃圾收集设定中堆的大小
TZ 时区设定 用于设定容器的时区,比如通过TZ=Asia/Shanghai来设定为CST时区

数据卷

数据卷说明 镜像内路径
数据或者配置信息的卷 /data

注意事项:从0.2版本升级至1.0之后的版本需要注意权限的问题,可对数据目录使用chown -R 1000:1000 命令来解决相关问题。

liumiaocn:nodered liumiao$ docker exec -it nodered_node-red_1 sh
~ $ id
uid=1000(node-red) gid=1000(node-red)
~ $ 

启动容器

使用如下命令即可启动Node-RED的容器

执行命令:docker run -it -p 1880:1880 --name nodered nodered/node-red:1.0.4

liumiaocn:~ liumiao$ docker run -it -p 1880:1880 -e TZ=Asia/Shanghai --name nodered nodered/node-red:1.0.4

> [email protected] start /usr/src/node-red
> node $NODE_OPTIONS node_modules/node-red/red.js $FLOWS "--userDir" "/data"

5 Mar 09:14:17 - [info] 

Welcome to Node-RED
===================

5 Mar 09:14:17 - [info] Node-RED version: v1.0.4
5 Mar 09:14:17 - [info] Node.js  version: v10.19.0
5 Mar 09:14:17 - [info] Linux 4.9.184-linuxkit x64 LE
5 Mar 09:14:17 - [info] Loading palette nodes
5 Mar 09:14:18 - [info] Settings file  : /data/settings.js
5 Mar 09:14:18 - [info] Context store  : 'default' [module=memory]
5 Mar 09:14:18 - [info] User directory : /data
5 Mar 09:14:18 - [warn] Projects disabled : editorTheme.projects.enabled=false
5 Mar 09:14:18 - [info] Flows file     : /data/flows.json
5 Mar 09:14:18 - [info] Creating new flow file
5 Mar 09:14:18 - [warn] 

---------------------------------------------------------------------
Your flow credentials file is encrypted using a system-generated key.

If the system-generated key is lost for any reason, your credentials
file will not be recoverable, you will have to delete it and re-enter
your credentials.

You should set your own key using the 'credentialSecret' option in
your settings file. Node-RED will then re-encrypt your credentials
file using your chosen key the next time you deploy a change.
---------------------------------------------------------------------

5 Mar 09:14:18 - [info] Server now running at http://127.0.0.1:1880/
5 Mar 09:14:18 - [info] Starting flows
5 Mar 09:14:18 - [info] Started flows
  • 结果确认
    在这里插入图片描述

Docker-Compose方式

也可以使用Docker-Compose方式启动Node-RED,可以使用如下示例yaml文件:

liumiaocn:nodered liumiao$ cat docker-compose.yml 
version: "2"

services:
  node-red:
    image: nodered/node-red:1.0.4
    environment:
      - TZ=Asia/Shanghai
    ports:
      - "1880:1880"
    networks:
      - node-red-net
    volumes:
      - node-red-data

volumes:
  node-red-data:

networks:
  node-red-net:
liumiaocn:nodered liumiao$ 
  • 启动服务
liumiaocn:nodered liumiao$ docker-compose up -d
Creating network "nodered_node-red-net" with the default driver
Creating volume "nodered_node-red-data" with default driver
Creating nodered_node-red_1 ... done
liumiaocn:nodered liumiao$ 
  • 服务确认
liumiaocn:nodered liumiao$ docker-compose ps
       Name                    Command                 State               Ports         
-----------------------------------------------------------------------------------------
nodered_node-red_1   npm start -- --userDir /data   Up (healthy)   0.0.0.0:1880->1880/tcp
liumiaocn:nodered liumiao$ 

参考内容

https://nodered.org/docs/getting-started/docker

发布了1112 篇原创文章 · 获赞 1312 · 访问量 407万+

猜你喜欢

转载自blog.csdn.net/liumiaocn/article/details/104667209
今日推荐