Problema:
Al trying de run emqx_ctl en un dockerized emqx setup usando un command como
emqx_docker_status.sh
docker-compose exec emqx ./bin/emqx statusves un error message como
emqx_node_not_responding.txt
Node 'emqx@node1.emqx.mydomain.com' not responding to pings.
/opt/emqx/bin/emqx: line 41: die: command not foundSolucion
El problem here es que emqx_ctl esta trying de connect al IP address para node1.emqx.mydomain.com pero ese IP address no point al IP address para el docker container (maybe es el public IP address para tu server?)
El solution here es create un network alias within docker/docker-compose asi que el Docker DNS system resolves node1.emqx.mydomain.com al internal IP address del container.
Por ejemplo, en docker-compose, puedes create tu network usando
docker_networks_emqx.yml
networks:
emqx:
driver: bridgey luego configure el alias para el container usando
docker_compose_emqx_service.yml
services:
emqx:
image: emqx:4.4.4
environment:
- "EMQX_NAME=emqx"
- "EMQX_HOST=node1.emqx.mydomain.com"
- "EMQX_LOADED_PLUGINS=emqx_recon,emqx_retainer,emqx_management,emqx_dashboard"
ports:
- 18083:18083
- 1883:1883
volumes:
- ./emqx_data:/opt/emqx/data
- ./emqx_log:/opt/emqx/log
networks:
emqx:
aliases:
- "node1.emqx.mydomain.com"Si este artículo te ha ayudado, considera invitarme a un café o hacer una donación vía PayPal para apoyar la investigación y publicación de nuevos artículos en TechOverflow