当Docker的“老规矩”撞上腾讯云的“新地盘”,我的EMQX默默躺平了引言:一切从一次“理所当然”的部署开始作为一名经常跟物联网(IoT)打交道的开发者,EMQX几乎是我处理MQTT消息的首选利器。正好手头有一台腾讯云的CVM(云服务器),想着把服务都容器化迁移上去,方便管理。于是,我熟练地敲下了那行熟悉的命令:dockerrun-d--nameemqx-p1883:1883-p8083:8083 emqx/emqx:latest看着镜像一层层拉取,容器顺利启动,我自信满满地准备收工。然而,当我尝试通过MQTTX客户端连接服务器的公网IP时,却始终连不上,连接超时。我的第一反应是:“难道是腾讯云的安全组规则没放行端口?”我急忙去控制台检查,1883端口早已在安全组的入站规则中放行。那问题出在哪儿?难道是防火墙?当我登录服务器查看防火墙状态,发现它也是关闭的。此时,我隐约感觉到,这次遇到的问题没那么简单。排查:顺藤摸瓜,发现“路由”有鬼既然端口放行没问题,那问题大概率出在服务器内部。我决定先从网络层开始
救火纪实:一次Docker网段冲突引发的EMQX“血案”
当Docker的“老规矩”撞上腾讯云的“新地盘”,我的EMQX默默躺平了引言:一切从一次“理所当然”的部署开始作为一名经常跟物联网(IoT)打交道的开发者,EMQX几乎是我处理MQTT消息的首选利器。正好手头有一台腾讯云的CVM(云服务器),想着把服务都容器化迁移上去,方便管理。于是,我熟练地敲下了那行熟悉的命令:dockerrun-d--nameemqx-p1883:1883-p8083:8083 emqx/emqx:latest看着镜像一层层拉取,容器顺利启动,我自信满满地准备收工。然而,当我尝试通过MQTTX客户端连接服务器的公网IP时,却始终连不上,连接超时。我的第一反应是:“难道是腾讯云的安全组规则没放行端口?”我急忙去控制台检查,1883端口早已在安全组的入站规则中放行。那问题出在哪儿?难道是防火墙?当我登录服务器查看防火墙状态,发现它也是关闭的。此时,我隐约感觉到,这次遇到的问题没那么简单。排查:顺藤摸瓜,发现“路由”有鬼既然端口放行没问题,那问题大概率出在服务器内部。我决定先从网络层开始