You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker部署的Node-RED持续重启问题求助

Docker更新后Node-RED频繁重启无法启动问题

操作步骤

执行以下命令更新Docker环境后出现问题:

  • docker-compose up --force-recreate --build -d
  • docker image prune -f

环境信息

  • 系统内核:
Linux DietPi 6.1.11-meson64 #23.02.2 SMP PREEMPT Sat Feb 18 00:07:55 UTC 2023 aarch64 GNU/Linux
  • Docker版本:Docker version 24.0.4, build 3713ee1
  • Docker Compose镜像配置:image: nodered/node-red:latest

问题现象

Node-RED每隔几秒自动重启,启动失败报错:

SyntaxError: Invalid or unexpected token
    at Object.compileFunction (node:vm:352:18)
    at wrapSafe (node:internal/modules/cjs/loader:1033:15)
    at Module._compile (node:internal/modules/cjs/loader:1069:27)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1159:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Module.require (node:internal/modules/cjs/loader:1005:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at Object.<anonymous> (/usr/src/node-red/node_modules/mime/index.js:4:27)
    at Module._compile (node:internal/modules/cjs/loader:1105:14)
Failed to start server:
/usr/src/node-red/node_modules/mime/types/standard.js:2

镜像详情

操作时间为2023年7月14日,使用的latest镜像信息:

REPOSITORY         TAG       IMAGE ID       CREATED         SIZE
nodered/node-red   latest    ed58160c5a2e   11 months ago   485MB

完整启动日志

root@DietPi:~/docker/nodered# docker-compose up 
[+] Running 2/2
⠿ Network nodered_node-red-net  Created 0.2s 
⠿ Container nodered             Created 0.4s 
Attaching to nodered
nodered  | Failed to start server:
nodered  | /usr/src/node-red/node_modules/mime/types/standard.js:2
nodered  |
nodered  |
nodered  |
nodered  | SyntaxError: Invalid or unexpected token
nodered  |     at Object.compileFunction (node:vm:352:18)
nodered  |     at wrapSafe (node:internal/module/cjs/loader:1033:15)
nodered  |     at Module._compile (node:internal/modules/cjs/loader:1069:27)
nodered  |     at Object.Module._extensions..js (node:internal/modules/cjs/loader:1159:10)
nodered  |     at Module.load (node:internal/modules/cjs/loader:981:32)
nodered  |     at Function.Module._load (node:internal/modules/cjs/loader:822:12)
nodered  |     at Module.require (node:internal/modules/cjs/loader:1005:19)
nodered  |     at require (node:internal/modules/cjs/helpers:102:18)
nodered  |     at Object.<anonymous> (/usr/src/node-red/node_modules/mime/index.js:4:27)
nodered  |     at Module._compile (node:internal/modules/cjs/loader:1105:14)
nodered exited with code 0
root@DietPi:~/docker/nodered#

解决方法

  1. 检查镜像架构兼容性
    当前系统为aarch64架构,先确认拉取的镜像是否匹配:

    docker inspect ed58160c5a2e | grep Architecture
    

    若输出不是aarch64,清理错误镜像后重新拉取对应架构版本:

    docker rmi ed58160c5a2e
    docker pull nodered/node-red:latest --platform linux/arm64/v8
    docker-compose up -d
    
  2. 切换至指定版本镜像
    放弃latest标签,使用明确兼容的版本(如3.0.2),修改docker-compose.yml的镜像配置:

    image: nodered/node-red:3.0.2
    

    重新部署:

    docker-compose down
    docker-compose pull
    docker-compose up -d
    
  3. 清理本地挂载数据卷(谨慎操作)
    若挂载了本地目录保存Node-RED配置,可能是本地依赖文件损坏。先备份数据,再清理重新部署:

    # 备份本地数据
    cp -r ~/docker/nodered/data ~/docker/nodered/data_backup
    # 停止容器并删除数据卷
    docker-compose down -v
    # 重新启动服务
    docker-compose up -d
    

内容的提问来源于stack exchange,提问作者Szjoin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 14:52:45