我用docker来启动我的rabbitmqserver.如何使用rabbitmqctl连接到docker容器中的rabbitmqserver?
端口5672已暴露并映射到我的主机的5672端口.但我仍然收到以下错误:
Status of node rabbit@m2 ... Error: unable to connect to node rabbit@m2: nodedown
小智.. 7
rabbitmqctl
使用Erlang分布式协议(EDP)与RabbitMQ进行通信.端口5672提供AMQP协议.您可以调查RabbitMQ实例使用的EDP端口:
$ netstat -uptan | grep beam tcp 0 0 0.0.0.0:55950 0.0.0.0:* LISTEN 31446/beam.smp tcp 0 0 0.0.0.0:15672 0.0.0.0:* LISTEN 31446/beam.smp tcp 0 0 0.0.0.0:55672 0.0.0.0:* LISTEN 31446/beam.smp tcp 0 0 127.0.0.1:55096 127.0.0.1:4369 ESTABLISHED 31446/beam.smp tcp6 0 0 :::5672 :::* LISTEN 31446/beam.smp
这意味着RabbitMQ:
在127.0.0.1:4369 连接到EPMD(Erlang Port Mapper Daemon),使节点能够看到对方
等待端口55950上的传入EDP连接
等待端口5672和55672上的AMQP连接
等待端口15672上的传入HTTP管理连接
为了rabbitmqctl
能够连接到RabbitMQ,您还必须转发端口55950并允许RabbitMQ实例连接到127.0.0.1:4369.这可能是RabbitMQ的EDP端口DINAMIC,所以使其静态,你可以尝试使用ERL_EPMD_PORT
可变的二郎神环境变量或使用inet_dist_listen_min
和inet_dist_listen_max
的Erlang的内核配置选项,并应用它的RabbitMQ环境变量 -export RABBITMQ_CONFIG_FILE="/path/to/my_rabbitmq.conf
my_rabbitmq.conf
[{kernel,[{inet_dist_listen_min, 55950},{inet_dist_listen_min, 55950}]}].
或者您可以使用RabbitMQ Management Plugin.它功能更强大,设置简单.
rabbitmqctl
使用Erlang分布式协议(EDP)与RabbitMQ进行通信.端口5672提供AMQP协议.您可以调查RabbitMQ实例使用的EDP端口:
$ netstat -uptan | grep beam tcp 0 0 0.0.0.0:55950 0.0.0.0:* LISTEN 31446/beam.smp tcp 0 0 0.0.0.0:15672 0.0.0.0:* LISTEN 31446/beam.smp tcp 0 0 0.0.0.0:55672 0.0.0.0:* LISTEN 31446/beam.smp tcp 0 0 127.0.0.1:55096 127.0.0.1:4369 ESTABLISHED 31446/beam.smp tcp6 0 0 :::5672 :::* LISTEN 31446/beam.smp
这意味着RabbitMQ:
在127.0.0.1:4369 连接到EPMD(Erlang Port Mapper Daemon),使节点能够看到对方
等待端口55950上的传入EDP连接
等待端口5672和55672上的AMQP连接
等待端口15672上的传入HTTP管理连接
为了rabbitmqctl
能够连接到RabbitMQ,您还必须转发端口55950并允许RabbitMQ实例连接到127.0.0.1:4369.这可能是RabbitMQ的EDP端口DINAMIC,所以使其静态,你可以尝试使用ERL_EPMD_PORT
可变的二郎神环境变量或使用inet_dist_listen_min
和inet_dist_listen_max
的Erlang的内核配置选项,并应用它的RabbitMQ环境变量 -export RABBITMQ_CONFIG_FILE="/path/to/my_rabbitmq.conf
my_rabbitmq.conf
[{kernel,[{inet_dist_listen_min, 55950},{inet_dist_listen_min, 55950}]}].
或者您可以使用RabbitMQ Management Plugin.它功能更强大,设置简单.