![](/img/trans.png)
[英]not able to connect mysql docker container from spring boot docker container
[英]Not able to connect ActiveMQ docker container from another docker container
version: '3.9'
services:
activemq:
image: rmohr/activemq:5.15.9-alpine
restart: always
ports:
- 61616:61616
- 8161:8161
- 5672:5672
container_name: activemq
app-service:
image: app-service:v1
restart: always
ports:
- 8080:8080
container_name: app-service
links:
- activemq
depends_on:
- activemq
在我的应用服务中,我使用 Spring Boot spring.activemq.broker-url=tcp://activemq:61616
activem 配置了 ActiveMQ 代理 URL 以及用户名和密码。
当我尝试运行docker-compose up
,应用服务显示以下错误
DefaultMessageListenerContainer : Could not refresh JMS Connection for
destination 'queueName' - retrying using FixedBackOff{interval=5000,
currentAttempts=5, maxAttempts=unlimited}. Cause: Java.lang.NullPointerException.
我可以在浏览器上访问 ActiveMQ web 控制台(例如使用http://localhost:8161
)。
如果没有 docker 容器,相同的代码在 localhost 中运行良好。
我也有这个确切的问题,帮助我的是添加spring.activemq.broker-url=tcp://activemq:61616
到 docker-compose 为应用程序环境标签。 对我来说是这样的:
app:
build:
context: .
container_name: app
ports:
- 8080:8080
environment:
- spring.activemq.broker-url=tcp://activemq:61616
depends_on:
- activemq
我认为容器化的 spring 应用程序无论出于何种原因都看不到来自应用程序属性的 broker-url
是的,最大的原因是您的应用程序在 activemq 服务之前运行。 您可以尝试 docker-compose 并在终端中查看控制台登录。
修正:这还不是一个好主意,但你可以 go 到 docker 应用程序,然后单击重新启动应用程序容器的名称,然后一切都会工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.