爱快 Docker NodeRed Tcp服务器远程连接试验

文章描述了一位用户在UbuntuServer上通过Docker运行NodeRed,并通过爱快硬路由进行远程访问。在尝试使用NodeRed的TCPin节点建立远程TCP服务器时遇到问题,发现是Docker容器未开放相应端口导致的。解决方法是更新Docker运行命令,添加端口映射以开放2333端口,从而成功实现了远程TCP连接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        有一台基于4415软路由安装的ubuntu server系统,在Ubuntu上通过Docker安装了NodeRed。ubuntu通过爱快硬路由与外网连接。爱快硬路由通过动态域名和端口映射实现远程访问ubuntu。

平时通过如下命令运行NodeRed镜像:

 docker run -it --rm -e TZ="Asia/Shanghai" -p 1880:1880 -v node_red_data:/data --name mynodered nodered/node-red

  今天想通过NodeRed 的TCP in节点实现tcp sever 远程连接试验。开始构建本地回环试验成功,

  源码如下:

[
    {
        "id": "d84cf2b1f8837955",
        "type": "tab",
        "label": "本地TCP回环试验",
        "disabled": false,
        "info": "",
        "env": []
    },
    {
        "id": "85e364175e90fb9a",
        "type": "inject",
        "z": "d84cf2b1f8837955",
        "name": "",
        "props": [
            {
                "p": "payload"
            },
            {
                "p": "topic",
                "vt": "str"
            }
        ],
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "payload": "",
        "payloadType": "date",
        "x": 870,
        "y": 260,
        "wires": [
            [
                "a8c3cdb131b59931"
            ]
        ]
    },
    {
        "id": "ecd663e985f7b601",
        "type": "debug",
        "z": "d84cf2b1f8837955",
        "name": "debug 8",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "false",
        "statusVal": "",
        "statusType": "auto",
        "x": 1020,
        "y": 160,
        "wires": []
    },
    {
        "id": "665e6d16a4850830",
        "type": "tcp in",
        "z": "d84cf2b1f8837955",
        "name": "",
        "server": "server",
        "host": "",
        "port": "3000",
        "datamode": "stream",
        "datatype": "utf8",
        "newline": "",
        "topic": "",
        "trim": false,
        "base64": false,
        "tls": "",
        "x": 860,
        "y": 160,
        "wires": [
            [
                "ecd663e985f7b601"
            ]
        ]
    },
    {
        "id": "a8c3cdb131b59931",
        "type": "tcp out",
        "z": "d84cf2b1f8837955",
        "name": "",
        "host": "127.0.0.1",
        "port": "3000",
        "beserver": "client",
        "base64": false,
        "end": false,
        "tls": "",
        "x": 1030,
        "y": 260,
        "wires": []
    }
]

 本地试验成功,开始远程试验。远程试验设置TCP端口为2333,同时爱快软路由的端口映射开放2333端口,设置如图:

 远程TCP server 流图

  节点设置,注意红线处设置。

 流图部署完成后,使用卓岚TCP&UDP调试工具远程连接tcp服务器,但并没有成功。

网络调试工具

 经过多次试验终于发现是由于docker没有开放2333端口导致连接试验不成功。后在命令中开放端口得以成功。

增加开放端口完整命令如下:

docker run -it --rm -e TZ="Asia/Shanghai" -p 2333:2333 -p 1880:1880 -v node_red_data:/data --name mynodered nodered/node-red

Docker绑定多个端口的实现

 加多个-p即可

关于端口可参考博主alden_ygq的博客

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

armcsdn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值