我希望能够通过其Ip访问docker容器,例如,当我检查docker container时可以看到的Ip
原因是我在一个docker容器中使用zookeeper,这个docker容器管理另外两个运行solr的docker容器。我的代码(不在docker中,目前我不希望它在docker中)调用zookeeper来获取solr服务器的urls,zookeeper将其报告为docker容器ip。我的代码随后会崩溃,因为从主机调用docker容器ip失败了,因为它应该调用localhost。
那么,如何才能允许从主机对docker容器ip的调用被正确路由。(我使用的是Docker native for Mac)
发布于 2016-07-25 05:44:02
我没有使用Docker for Mac,所以我不确定最新版本的Docker for Mac是否仍然基于Docker-machine (基于VirtualBox)。
如果您可以确认您的Docker for Mac是基于VirtualBox的,那么您可能可以通过ifconfig命令获取vboxnet0网络接口的inet。此IP应用作您的主叫IP。
此外,你应该知道你的Zookeeper容器的端口号。正常情况下,容器暴露的端口可以在docker run命令中配置,例如:
docker run -p 5000:5001 -i -t ubuntu /bin/bash其中-p表示容器的暴露端口。
https://stackoverflow.com/questions/38552371
复制相似问题