所以我正在为docker container
项目创建一个camel
。在项目中,我使用apache karaf
将数据发送到消息队列。
现在,当项目正常运行时,即没有容器,它可以正常运行。 karaf broker url
是 - tcp://localhost:61616
。此值来自camel项目内的配置文件。
但是当我创建container
错误被抛出 -
无法连接到代理url - tcp:// localhost:61616
我的猜测是docker
里面的'localhost'不会被认为是我的机器(笔记本电脑)的localhost
。在container
内部,locahost
将是它自己的IP地址,我相信。
那么,我应该为经纪人网址添加什么地址? 127.0.0.1?还是我的笔记本电脑的外部IP?
如果您正在运行Docker容器和主机上的karaf,那么您需要使用主机IP地址连接到karaf。您可以在配置中更改代理URL,如下所示
tcp://host_ip:61616
由于docker容器也像vm并且它有自己的网络和隔离的表单主机,因此hosthost for host和container是不同的。