【问题标题】:How to manually restart Node-RED in Docker?如何在 Docker 中手动重启 Node-RED?
【发布时间】:2021-01-29 22:04:34
【问题描述】:

概述:

我更新了 MySQL Node-RED 模块,现在我必须重新启动 Node-RED 才能启用它。消息如下:

必须重新启动 Node-RED 才能启用升级的模块

问题:

我正在使用 docker-compose 运行官方 node-red docker 容器,当我按照建议的in-the-docs 进入容器时,没有命令node-red 命令。

问题

在官方nodered docker容器中没有快捷方式的情况下如何手动重启node-red应用?

注意事项:

  • 从未使用过 node.js,而且我是 node-red 的新手。
  • 我精通 Linux 和其他编程语言。

复制步骤

  1. 安装 docker 和 docker-compose。
  2. 使用 docker-compose.yml 文件创建项目目录
  3. 启动服务:docker-compose up
  4. 导航到 http://localhost:1880
  5. 点击汉堡菜单图标->[manage-pallet]->pallet,搜索并更新MySQL包。
  6. 进入节点容器:docker-compose exec nodered bash
  7. 执行:node-red
  8. 结果:bash: node-red: command not found

文件:

docker-compose.yml

# 
version: "2.7"

services:
  nodered:
    image: nodered/node-red:latest
    user: root:root
    environment:
      - TZ=America/New_York
    ports:
      - 1880:1880
    networks:
      - nodered-net
    volumes:
      - ./nodered_data:/data
networks:
  nodered-net:

【问题讨论】:

    标签: node.js docker node-red


    【解决方案1】:

    您将需要反弹整个容器,无法在保持容器运行的同时重新启动 Node-RED,因为运行的实例使容器保持活动状态。

    运行docker ps 找到正确的容器实例,然后运行docker restart [container name]

    [container name] 的位置可能类似于 nodered-nodered_1

    【讨论】:

    • 我最初确实尝试过,但对在重新启动容器之间保持不变的重新启动通知感到困惑。感谢您的详细说明。
    • 我在独立版和 hass.io 中都使用 node-red。您也可以只执行 `docker exec -it bash 并登录到运行 node-red 服务的容器,但弹回容器可能是最简单的方法。这会正确处理节点关闭和重启。
    • 在容器中您无能为力,您所能做的就是终止 Node-RED 进程,这只会导致容器重新启动。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多