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:latest
    restart: always
    environment:
      #- TZ=Europe/Amsterdam
      - TZ=Asia/Shanghai
    ports:
      - "1880:1880"
    networks:
      - node-red-net
    volumes:
      - ./data:/data

volumes:
  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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/926354.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

11.26深度学习_神经网络-数据处理

一、深度学习概述 1. 什么是深度学习 ​ 人工智能、机器学习和深度学习之间的关系&#xff1a; ​ 机器学习是实现人工智能的一种途径&#xff0c;深度学习是机器学习的子集&#xff0c;区别如下&#xff1a; ​ 传统机器学习算法依赖人工设计特征、提取特征&#xff0c;而深…

Kotlin的object修饰符定义类似Java的静态类/静态方法

Kotlin的object修饰符定义类似Java的静态类/静态方法 //类似Java的static类 object StaticCls {//类似Java静态变量private var num 0//类似Java的静态方法fun updateVal(n: Int) {num n}fun getVal(): Int {return num} }class MyTest() {fun setVal() {StaticCls.updateVal…

接口隔离原则理解和实践

在软件开发中&#xff0c;设计原则是指导我们编写高质量代码的重要准则。接口隔离原则&#xff08;Interface Segregation Principle, ISP&#xff09;是面向对象设计原则中的一条重要原则。ISP原则指出&#xff0c;客户端不应该依赖它不需要的接口&#xff0c;类间的依赖关系应…

SQL进阶——C++与SQL进阶实践

在C开发中&#xff0c;SQL数据库的操作是开发者常见的任务之一。虽然前面我们已经介绍了如何在C中通过数据库连接执行基本的SQL查询&#xff0c;但在实际项目中&#xff0c;我们通常需要更加复杂和高效的数据库操作。存储过程与函数的调用、复杂SQL查询的编写、以及动态构造SQL…

JVM 性能调优 -- JVM常用调优工具【jps、jstack、jmap、jstats 命令】

前言&#xff1a; 前面我们分析怎么去预估系统资源&#xff0c;怎么去设置 JVM 参数以及怎么去看 GC 日志&#xff0c;本篇我们分享一些常用的 JVM 调优工具&#xff0c;我们在进行 JVM 调优的时候&#xff0c;通常需要借助一些工具来对系统的进行相关分析&#xff0c;从而确定…

Mongo操作手册

Mongo数据类型 在Mongodb中&#xff0c;可以使用数字代码和别名作为过滤条件查询文档。在聚合操作中&#xff0c;可以获取字段类型的别名。或者根据返回的字段类型实现不同的逻辑。 //使用字符串"array"和数字类型4查询字段类型是数组的数据 db.collection.find({&l…

HBU深度学习作业9

1. 实现SRN &#xff08;1&#xff09;使用Numpy实现SRN import numpy as npinputs np.array([[1., 1.],[1., 1.],[2., 2.]]) # 初始化输入序列 print(inputs is , inputs)state_t np.zeros(2, ) # 初始化存储器 print(state_t is , state_t)w1, w2, w3, w4, w5, w6, w7, …

智能堆叠,集群和IRF

堆叠和IRF其实可以近似看成同一种技术&#xff0c;只是华三叫IRF&#xff0c;华为叫智能堆叠 智能堆叠&#xff08;iStack&#xff09;&#xff1a;支持堆叠特性的交换机通过堆叠线缆连接在一起&#xff0c;从逻辑上变成一台交换设备&#xff0c;作为一个整体参与数据转发&…

三维渲染中顺序无关的半透明混合(OIT)(二——Stencil Route)

1、A-Buffer算法。 在谈到Stencil Route之前&#xff0c;需要先讨论A-Buffer算法。A-Buffer是一种图形学&#xff08;渲染方向&#xff09;上的用于可见面分析(Visble Surface Detection)的技术&#xff0c;是Z-Buffer的衍生方法。 Z-Buffer是用于剔除 不透明 物体的算法。假…

transformers bert-base-uncased情感分析

一、使用huggingface中的预训练模型&#xff0c;先要安装transformers、torch和SentencePiece pip install transformers pip install torch pip install SentencePiece 手动下载&#xff1a;https://huggingface.co/google-bert/bert-base-uncased/tree/main 添加以目录&…

Android开发仿qq详情下拉头像变大

Android开发仿qq详情下拉头像变大 个人详情界面&#xff0c;很多都有下拉头像变大的效果&#xff0c;其实我觉得这效果还不如点击头像看大图呢 一、思路&#xff1a; 自定义ScrollView 二、效果图&#xff1a; 看视频更直观点&#xff1a; Android开发教程案例分享-仿qq详情…

洛谷 P1157 组合的输出 C语言

题目&#xff1a;https://www.luogu.com.cn/problem/P1157#submit 题目描述 排列与组合是常用的数学方法&#xff0c;其中组合就是从 n 个元素中抽出 rr 个元素&#xff08;不分顺序且 r≤nr≤n&#xff09;&#xff0c;我们可以简单地将 n 个元素理解为自然数 1,2,…,n从中任…

数据结构3.链表

目录 1.链表的概念及结构 2.链表的分类 1.单向或者双向 2.带头或者不带头 3.循环或者非循环 3.链表的实现 1.无头单向非循环链表 2.双向带头循环链表 4.顺序表和链表的区别 1.链表的概念及结构 概念&#xff1a;链表是一种物理存储结构上非连续、非顺序的存储结构&…

A054-基于Spring Boot的青年公寓服务平台

&#x1f64a;作者简介&#xff1a;在校研究生&#xff0c;拥有计算机专业的研究生开发团队&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的网站项目。 代码可以查看文章末尾⬇️联系方式获取&#xff0c;记得注明来意哦~&#x1f339; 赠送计算机毕业设计600…

paimon的四种changelog模式(2)-none模式

# 请先了解input模式 环境创建 CREATE CATALOG fs_catalog WITH (typepaimon,warehousefile:/data/soft/paimon/catalog );USE CATALOG fs_catalog;drop table if exists t_changelog_none ;CREATE TABLE t_changelog_none (age BIGINT,money BIGINT,hh STRING,PRIMARY KEY (h…

【CSS in Depth 2 精译_064】10.3 CSS 中的容器查询相对单位 + 10.4 CSS 容器样式查询 + 10.5 本章小结

当前内容所在位置&#xff08;可进入专栏查看其他译好的章节内容&#xff09; 【第十章 CSS 容器查询】 ✔️ 10.1 容器查询的一个简单示例 10.1.1 容器尺寸查询的用法 10.2 深入理解容器 10.2.1 容器的类型10.2.2 容器的名称10.2.3 容器与模块化 CSS 10.3 与容器相关的单位 ✔…

CSS笔记(二)类名复用

这里我通过两张不同位置的卡片来实现效果 代码 <!DOCTYPE html> <html><head><style>/*设置画布*/body{/* 方便排列与对齐*/display: flex; /*画布布满整个窗口*/height: 100vh;/*水平居中*/justify-content: center;/*垂直居中*/align-items: cente…

常用函数的使用错题汇总

#include <iostream> #include <fstream> #include <string>int main() {std::ifstream fin("example.txt"); // 创建 ifstream 对象并打开文件// 检查文件是否成功打开if (!fin) {std::cerr << "Error opening file!" << s…

【树莓派5】移动热点获取树莓派IP并初次登录SSH

本篇文章包含的内容 1 打开系统热点2 烧录系统设置3 配置 MobaXterm4 初次启动树莓派配置选项4.1 换源4.2 更新软件包4.3 安装vim编辑器4.4 更改CPU FAN温度转速 Windows版本&#xff1a;Windows11 24H2树莓派&#xff1a;树莓派5&#xff0c;Raspberry Pi 5SSH软件&#xff1a…

分布式调用 - 服务间的远程调用RPC

文章目录 导图PreRPC 概述RPC 调用过程RPC 动态代理1. 接口定义 (SeverProvider)2. 实现类 (ServerProviderImpl)3. 动态代理类 (DynamicProxy)4. 客户端 (Client)5. 代码工作流程6. 总结和注意点7. 结果输出8. 小结 RPC 序列化1. JSON (JavaScript Object Notation)2. Hessian…