Ubuntu 24.04使用docker安装Node-Red
Node-Red是开源是可视化的流计算软件,在Ubuntu 24.04版本下,很容易通过docker进行安装。
本人环境信息如下:
Welcome to Ubuntu 24.04.1 LTS (GNU/Linux 6.8.0-45-generic x86_64)ubuntu@pascalming-ubuntu:~$ docker -v
Docker version 24.0.7, build 24.0.7-0ubuntu4.1
ubuntu@pascalming-ubuntu:~$ docker-compose -v
Docker Compose version v2.29.2
根据需要编辑docker-compose.yml文件,我的文件如下:
################################################################################
# Node-RED Stack or Compose
################################################################################
# docker stack deploy node-red --compose-file docker-compose-node-red.yml
# docker-compose -f docker-compose-node-red.yml -p myNoderedProject up
################################################################################
version: "3.7"services:node-red:image: nodered/node-red:latestrestart: alwaysenvironment:#- TZ=Europe/Amsterdam- TZ=Asia/Shanghaiports:- "1880:1880"networks:- node-red-netvolumes:- ./data:/datavolumes:node-red-data:networks:node-red-net:
上面的配置中,数据卷使用当前目录下的data目录,可以用下面命令创建
mkdir data
创建好子目录后,可以使用docker命令进行启动
sudo docker-compose up
如果能正常启动,可以在上面的命令后再加上-d参数,后台运行。
运行完后,可以通过:http://ip:1880端口进行访问。
我的运行并安装"node-red-contrib-cron-plus"节点后的目录如下:
可以看到容器自动在data目录下创建了自己的文件和子目录,从而实现持久化。
其他:
如果docker文件拉取失败,可以考虑换源,或使用其他具备网络条件的服务器拉取的镜像备份和还原。备份命令:
sudo docker save -o nodered.tar nodered/node-red:latest
执行完后,把nodered.tar文件复制到内网服务器上,使用load命名导入:
sudo docker load <nodered.tar
镜像包:
不具备docker直接拉起条件的,也可以使用本人备份的Node-Red v4.0.5镜像
通过百度网盘分享的文件:nodered-v4.0.5.tar
链接:https://pan.baidu.com/s/1qi4oF6Z5tyBxiL1lvTgldA?pwd=5yms
提取码:5yms
设置为服务:
创建文件:
sudo vim /etc/systemd/system/docker-compose-nodered.service
文件内容如下:
[Unit]
Description=Docker Compose Application Service
Requires=docker.service
After=docker.service[Service]
Type=oneshot
RemainAfterExit=yes
WorkingDirectory=/home/ubuntu/node-red-data/
ExecStart=/usr/local/bin/docker-compose up -d
ExecStop=/usr/local/bin/docker-compose down
TimeoutStartSec=0[Install]
WantedBy=multi-user.target
配置文件中的WorkingDirectory=/home/ubuntu/node-red-data/需要修改为实际目录位置,确保目录以“/”结尾。
输入如下命令启用服务和启动服务,重启后会自动启动容器:
ubuntu@ubuntu24:~$ sudo systemctl enable docker-compose-nodered
Created symlink /etc/systemd/system/multi-user.target.wants/docker-compose-nodered.service → /etc/systemd/system/docker-compose-nodered.service.
ubuntu@ubuntu24:~$ sudo systemctl start docker-compose-nodered
ubuntu@ubuntu24:~$ sudo docker-compose ls
参考资料:
Running under Docker : Node-RED