docker集装箱内的卡拉夫经纪人url – 窗口
所以我正在创build一个camel
项目的docker container
。 在项目中,我使用apache karaf
将数据发送到消息队列。
现在,当项目正常运行, 即没有作为容器 ,它正常工作。 karaf broker url
是 – tcp://localhost:61616
。 该值来自骆驼项目中的configuration文件。
但是,当我创buildcontainer
错误抛出 –
无法连接到代理url – tcp:// localhost:61616
我的猜测是docker
内的“本地主机”不会被认为是我的机器(笔记本电脑)的localhost
。 在container
内, 我相信 locahost
就是它自己的IP地址。
那么, 我应该为经纪人url提供什么地址? 127.0.0.1? 或我的笔记本电脑的外部IP?
如果你的camle项目是作为docker容器和karaf在主机上运行,那么你需要使用主机ip地址连接到karaf。 您可以像下面一样更改configuration中的经纪人url
tcp://host_ip:61616
由于Docker容器也是一个虚拟机,它有自己的networking和孤立的forms主机,所以主机和容器的localhost是不同的。