若未指定虚拟机中端口映射。且虚拟机中防火墙未关闭或所需端口未开放。
例如:启动RabbitMQ
docker run -d --name rabbitmq -p 5671:5671 -p 5672:5672 -p 4369:4369 -p 25672:25672 -p 15671:15671 -p 15672:15672 rabbitmq:management
若启动RabbitMQ时,所需的端口未进行端口映射:
例如:若未指定5672端口
docker run -d --name rabbitmq -p 5671:5671 -p 4369:4369 -p 25672:25672 -p 15671:15671 -p 15672:15672 rabbitmq:management
在docker容器中启动某个镜像时。会自动开启docker容器某个镜像所需的中指定的端口(port)。
那么程序连接Rabbit时:会出现如下错误
org.springframework.amqp.AmqpConnectException: java.net.ConnectException: Connection refused: connect
org.springframework.amqp.AmqpConnectException: java.net.ConnectException: Connection refused: connect