配置EMQX_HOST后无法在容器内使用emqx ctl

环境

  • EMQX 版本:5.8.6
  • 操作系统版本:docker

重现此问题的步骤

  1. docker compose
    services:
    emqx:
    image: emqx/emqx:5.8.6
    restart: always
    container_name: emqx
    hostname: emqx_jin
    environment:
    • TZ=Asia/Shanghai
    • EMQX_NODE_NAME=emqx@emqx_jin
      ports:
    • 18083:18083 #emqx的 bashboard仪表盘 端口无需代理
    • 1883:1883 #emqx的 TCP连接端口
    • 8083:8083 #emqx的 WebSocket端口
      networks:
    • base-net
      volumes:
    • ${PWD}/emqx.conf:/opt/emqx/etc/emqx.conf
    • emqx-data:/opt/emqx/data
      2.docker exec -it emqx /bin/bash
EMQX_HOST=emqx_jin

加这个变量。
对了,Hostname 最好使用 FQDN

主机部分必须是 IP 地址或者完全限定域名 (FQDN),如 myhost.example.tld ,例如:

ref: 集群配置 | EMQX文档

你可以使用直接使用:https://docker.emqx.dev/ 来生成 docker compose 文件。