所以我正在为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?
答案 0 :(得分:0)
如果你的camle项目在主机上运行为docker container和karaf,那么你需要使用主机ip地址连接到karaf。您可以在配置中更改代理网址,如下所示
tcp://host_ip:61616
由于docker容器也像vm,它有自己的网络和隔离的主机,因此hosthost for host和container是不同的。