当前位置: 首页 > article >正文

Node-Red二次开发:git下载本地打镜像docker部署

一、先从https://github.com/node-red/node-red.git把代码拉下来,用vscode打开;

二、然后npm install安装以下,把node_models下载下来,然后使用npm run dev启动,如果http://127.0.0.1:1880可以访问就代表node-red启动成功。

三、如果需要使用docker来打镜像,可以参考Running under Docker : Node-RED (nodered.org)文档,这是官方的文档,但是官方的文档里面没有说明白settings.js、flows_cred.json、flows.json文件从哪里获取。

四、如果不是对node-red做二次开发,可以从Running under Docker : Node-RED (nodered.org)直接下载镜像部署就可以,如果需要把自己修改的代码也打进docker镜像里面,则需要在node-red的目录下面新建一个Dockerfile文件和entrypoint.sh文件。

FROM nodered/node-red #官方的

# Copy package.json to the WORKDIR so npm builds all
# of your added nodes modules for Node-RED
USER root
WORKDIR /data
COPY package.json /data
RUN chmod 755 /data
RUN npm install --unsafe-perm --no-update-notifier --no-fund --only=production
COPY packages/node_modules /data/packages/node_modules
COPY scripts /data/scripts
COPY entrypoint.sh .
ENTRYPOINT ["./entrypoint.sh"]

注意:/data/packages/node_modules/node-red/red.js就是项目的启动地址要看red.js具体在哪个文件夹下面 

#!/bin/bash

trap stop SIGINT SIGTERM

function stop() {
	kill $CHILD_PID
	wait $CHILD_PID
}

/usr/local/bin/node /data/packages/node_modules/node-red/red.js --userDir /data $FLOWS "${@}" &

CHILD_PID="$!"

wait "${CHILD_PID}"

五、我是在windows上安装了一个docker desktop,在本地构建,需要先启动window上的Docker Desktop,然后打开cmd命名窗口,然后进入到node-red项目所在的地方D:\node-red输入docker打包命令,注意后面的点

docker build -t my-node:v1.0.0 .

六、如果需要推送到镜像仓库,再进行如下操作;

首先重新打tag:

docker tag my-node:v1.0.0 hello.com/dev/nodered/my-node:v1.0.0

七、然后推送到镜像仓库

docker push hello.com/dev/nodered/my-node:v1.0.0

这样就成功推送到你自己的镜像仓库了,记得在推送之前还需要先登录镜像仓库的。


http://www.kler.cn/news/367661.html

相关文章:

  • 时间序列预测(九)——门控循环单元网络(GRU)
  • 单点登录(SSO)的实现与应用
  • Flutter鸿蒙next 中如何实现 WebView【跳、显、适、反】等一些基础问题
  • Qt Essential Classes
  • FastAPI、langchain搭建chatbot,langgraph实现历史记录
  • 基于SSM的BBS社区论坛系统源码
  • 5G工业网络E2E运维
  • 反射、动态代理、SPI机制在RPC框架中应用
  • 如何系统学习销售?
  • 力扣33:搜索旋转排序数组
  • 2024-10-23 问AI: [AI面试题] 什么是卷积神经网络 (CNN)?
  • Vue 3 的响应式数据绑定(2)
  • 【LeetCode】每日一题 2024_10_21 最小差值 II(贪心)
  • redis 查找key使用正在表达式与java的区别
  • Linux的目录结构 常用基础命令(2)
  • Linux基础IO--重定向--缓冲区
  • 30. 串联所有单词的子串 C#实现
  • pip在ubuntu下换源
  • Android Studio超级详细讲解下载、安装配置教程(建议收藏)
  • 探索CSS动画下的按钮交互美学
  • MySQL 的元数据锁(Metadata Locks, MDL)原理详解
  • Python 协程详解----高性能爬虫
  • 适用在汽车诊断系统中的总线收发器芯片选型:CSM9241
  • Android AAR嵌套AAR打包出现问题解决方案
  • 自由学习记录(15)
  • 前端SSE-EventSource message事件执行异常问题