docker部署内网跨宿主机双主集群报错emqx@192.168.0.97' not responding to pings. 本机ipping不通

version: '3'

services:
  emqx1:
    image: emqx/emqx:5.8.9
    container_name: emqx1
    network_mode: host
    environment:
      - "EMQX_NODE__COOKIE=emqx-cluster-2026-secret"
      - "EMQX_NODE__NAME=emqx1@192.168.0.97"
      - "EMQX_NODE_IP=192.168.0.97"
      - "EMQX_CLUSTER__DISCOVERY_STRATEGY=static"
      - "EMQX_CLUSTER__STATIC__SEEDS=[emqx1@192.168.0.97,emqx2@192.168.0.97]"
      - "EMQX_RPC__PORT_DISCOVERY=manual"
      - "EMQX_RPC__TCP_SERVER_PORT=5370"
      - "EMQX_NODE__DIST_LISTEN_PORT=4370"
    healthcheck:
      test: [ "CMD", "/opt/emqx/bin/emqx", "ctl", "status" ]
      interval: 5s
      timeout: 25s
      retries: 5
    #    networks:
    #      emqx-bridge:
    #        aliases:
    #          - node1.emqx.io
    ports:
      - 1883:1883
      - 8083:8083
      - 8086:8084
      - 8883:8883
      - 18083:18083
      - 4370:4370
      - 5370:5370
    # volumes:
    #   - $PWD/emqx1_data:/opt/emqx/data

dockerexec -it emqx1sh-c"emqx ctl cluster status"Node ‘emqx@192.168.0.97’ not responding to pings.

端口都开放了,使用了 emqx/emqx:5.8.8、 emqx/emqx:5.8.9 、emqx/emqx:5.7.2的镜像都报这个问题,容器内部是可以ping通192.168.0.97

期望得到技术支持

服务是可以正常启动的,只是建立集群的ip只要配置成无线网卡的ip则报ping不通,部署在服务器配置成服务器ip报的也是类似的错误,测试过使用docker网络与host宿主机网络报错都是一样的

看起来应该是集群连通问题。

  1. 两宿主机先 ping 192.168.0.97 的容器 IP,确认网段和路由
  2. 检查 docker 网络和防火墙:1883/8883/4370/4369 是否双向放通
  3. 来点 emqx 日志,重点看集群 ping/failed 的那段,按时间贴完整日志