在飞牛 OS 上使用 Docker 部署 Node-RED 的超详细教程

svendog
1
2025-05-22

今天我要和大家分享一下在飞牛 OS 上用 Docker 安装 Node-RED 的详细过程。Node-RED 是一款非常强大的可视化编程工具,特别适合用来进行物联网设备控制、自动化流程设计等应用。下面我就直接进入正题,和大家分享具体的安装步骤。

一、准备工作

在开始之前,确保你的飞牛 OS 已经正常运行,并且 Docker 已经安装配置好。Node-RED 是通过 Docker 来部署的,所以 Docker 是必不可少的前提条件。

二、安装过程

(一)拉取 Docker 镜像

首先,我们需要把 Node-RED 的 Docker 镜像拉取到本地。打开终端,输入以下命令:

docker pull nodered/node-red:latest

这条命令会从 Docker Hub 上下载最新版本的 Node-RED 镜像,为后面创建容器做好准备。

(二)创建并启动容器

接下来,用下面这个命令来创建并启动 Node-RED 容器:

docker run --name=mynodered \
    --volume /vol2/1000/docker/nodered:/data \
    --network=bridge \
    --workdir=/usr/src/node-red \
    -p 1880:1880 \
    -p 1881:1881 \
    -p 1881:1881/udp \
    --restart=always \
    -t \
    nodered/node-red:latest

我来给大家详细解释一下这个命令中各个参数的意思:

  • docker run:用于创建并启动一个新的容器。

  • --name=mynodered:给这个新容器起名为 “mynodered”,方便后续管理和识别。

  • --volume:挂载本地存储卷到容器内部。这里 /vol2/1000/docker/nodered:/data 是把飞牛 OS 上的 /vol2/1000/docker/nodered 文件夹挂载到容器的 /data 路径下,这个目录主要用于存放 Node-RED 的配置文件、流程文件以及相关数据,方便数据的持久化存储和后续的备份恢复。

  • --network=bridge:设置容器使用 Docker 的默认桥接网络模式。这种模式下,容器会获得一个独立的 IP 地址,并通过 Docker 的网络桥接功能与宿主机(飞牛 OS)以及其他容器进行通信,是比较常见且安全的网络设置方式。

  • --workdir=/usr/src/node-red:指定容器内部的工作目录为 /usr/src/node-red,这样在容器启动后,所有的操作都会在这个目录下进行,方便管理和组织相关的文件和数据。

  • -p:做端口映射。-p 1880:1880 是把飞牛 OS 主机的 1880 端口映射到容器内部的 1880 端口,因为 Node-RED 的 Web 管理界面默认就是跑在 1880 端口的,这样我们以后就能通过访问主机的 1880 端口来操作 Node-RED 了;-p 1881:1881-p 1881:1881/udp 则是分别把主机的 1881 端口(TCP 和 UDP 协议)映射到容器内部对应的端口,这些端口可以用于一些特定的通信需求,比如与其他物联网设备进行通信等。

  • --restart=always:设置容器在系统重启或者容器停止后能自动重新启动,这样就不用每次手动去启动容器了,方便省心。

  • -t:分配一个伪终端,这样可以方便查看容器的日志输出等信息,便于后续的调试和问题排查。

  • nodered/node-red:latest:指定要使用的 Docker 镜像名称和版本,latest 就是最新的意思,能保证咱们用的是最新的 Node-RED 功能。

三、启动与访问

(一)启动容器

如果中途容器停了,想重新启动的话,直接用下面这个命令就行:

docker start mynodered

(二)访问 Node-RED

然后就可以在浏览器里输入 http://<你的飞牛 OS IP 地址>:1880,回车后就能看到 Node-RED 的初始设置页面啦。

(三)初始设置

第一次登录进去后,系统会提示你设置一个用户名和密码,这个就是登录管理界面用的,你按照提示自己设置个好记的就行。设置完后,就可以直接进入主界面开始创建和编辑自动化流程啦。

不过建议你先花点时间熟悉一下 Node-RED 的界面布局和基本操作,了解一下各种节点的类型和用途,这样能更好地发挥它的强大功能。

四、注意事项

  • 路径和权限:一定要确保在命令里指定的本地存储路径 /vol2/1000/docker/nodered 是真实存在的,并且飞牛 OS 对这个路径是有读写权限的。不然 Node-RED 会因为无法访问这个路径而出现配置文件保存不了或者流程文件丢失等问题,影响正常使用。如果出现权限问题,你可以用 chmod 命令来修改文件夹的权限,比如 chmod -R 775 /vol2/1000/docker/nodered,把权限设置得合适一些。

  • 端口冲突:在设置端口映射的时候,要注意检查这些端口在飞牛 OS 上是不是已经被其他服务占用了。要是有冲突的话,Node-RED 就没办法正常监听这些端口,后续的通信和功能实现就会受到影响。你可以用 netstat -tuln 这个命令先查看一下当前系统上已经占用的端口情况,如果有冲突就换其他没被占用的端口。

  • 防火墙设置:别忘了检查防火墙的规则,确保这些映射的端口(1880、1881 TCP 和 UDP)是允许外部访问的。不然即使端口映射设置好了,外面的设备也访问不进来,远程控制 Node-RED 或者和其他物联网设备通信就会出现问题。如果你不确定防火墙规则怎么设置,可以先暂时关闭防火墙测试一下,等确认 Node-RED 能正常工作后再去调整防火墙规则。

  • 网络模式选择:这里咱们用的是默认的桥接网络模式,对于大多数普通应用场景来说已经足够用了。不过如果你有更复杂的网络需求,比如需要多个容器之间进行紧密的通信协作,或者对网络性能有特殊要求等,你可能需要研究一下 Docker 的其他网络模式(如 host 模式、自定义网络等),并根据实际情况做出调整。

  • 定期更新:为了能用上最新的功能和安全补丁,建议你定期更新 Node-RED 的 Docker 镜像。你可以先用 docker pull nodered/node-red:latest 再次拉取最新的镜像,然后停止并删除旧的容器(用 docker stop mynodereddocker rm mynodered),最后再重新运行上面那个创建并启动容器的命令来完成更新。

五、结尾

好啦,以上就是我在飞牛 OS 上用 Docker 安装 Node-RED 的全部过程啦!是不是还挺简单的?有了这个 Node-RED,咱们在飞牛 OS 上搭建的 NAS 系统就像拥有了一个智能大脑,可以通过它轻松实现各种自动化任务和物联网设备控制。比如你可以设置一个流程,当某个文件夹里有新文件上传时,自动触发一个通知发送到你的手机上;或者根据时间、传感器数据等条件,远程控制家里的智能设备开关等,玩法真的非常多。要是你在安装或者使用 Node-RED 的过程中碰到了啥问题,或者有啥自己的经验,欢迎随时来找我交流交流呀,咱们一起把飞牛 OS 搭建得更强大、更智能!

动物装饰