2

我已经设置了一个基于 Spring Cloud 和 Netflix OSS 产品套件的演示应用程序。当我运行所有模块时,该应用程序可以在我的本地开发环境以及 Pivotal Web 服务上完美运行。

我遇到的问题是当我将模块配置为在 docker 中运行时。当我启动一个依赖于 RabbitMQ for Hystrix/Turbine 的应用程序时,我收到了 AMQP 连接异常。

2015-07-30 15:32:15.567  WARN 1 --- [askExecutor-262] o.s.a.r.l.SimpleMessageListenerContainer : Consumer raised exception, processing can restart if the connection factory supports it. Exception summary: org.springframework.amqp.AmqpConnectException: java.net.ConnectException: Connection refused

我在 docker 中使用以下配置启动了 rabbitmq:

docker run -d --hostname rabbitmq    --name rabbitmq    -p 5672:5672 -p 15672:15672 rabbitmq:3-management

我可以在浏览器中毫无问题地访问管理端口。

当我在 docker 中启动一个依赖项目时,我使用 docker 链接参数指定 rabbitmq:

--link rabbitmq:rabbitmq

知道这里缺少什么吗?

4

1 回答 1

2

我找到了解决方案。我需要在我的 application.yml 文件中编辑我的 docker 配置文件以更改 rabbitmq 主机名。

spring:
  profiles: docker
  rabbitmq:
    host: rabbitmq
于 2015-07-30T16:20:11.813 回答