docker的专用网络问题

docker的专用网络问题,docker,Docker,我在docker主机上连接MongoDB时遇到问题。我不确定问题出在哪里,但我当前的docker容器应该能够连接到非docker MongoDB实例 我的主机有两个网络接口,分别是带有出站IP的eth0和带有专用lan IP 192.168.100.200的eth1。有没有办法不用-net=host连接到主机?您可以使用nsenter或docker exec输入MongoDB,并发出一些命令,如 ip all 使用 从 或 如果您有最新版本的docker会出现什么错误?你能从一个容器ping到

我在docker主机上连接MongoDB时遇到问题。我不确定问题出在哪里,但我当前的docker容器应该能够连接到非docker MongoDB实例


我的主机有两个网络接口,分别是带有出站IP的eth0和带有专用lan IP 192.168.100.200的eth1。有没有办法不用-net=host连接到主机?

您可以使用nsenter或docker exec输入MongoDB,并发出一些命令,如

ip all
使用

从 或


如果您有最新版本的docker

会出现什么错误?你能从一个容器ping到这个地址吗?是否有防火墙(如ufw)正在运行?您确定mongodb正在监听192.168.100.200:27017吗?在主机上运行netstat-nap-tcp | grep LISTEN。确保它在听。docker实例应该能够ping 192.168.100.200并在该接口上连接到mongo,除非您的网络设置有问题。我没有收到错误消息,我试图停止iptables防火墙,但这并不重要。我尝试使用干净的centos映像ping并连接到mongodb主机。它侦听所有IP地址:tcp 0.0.0.0:27017 0.0.0.0:*侦听31494/mongodOK nevermind。。。事实证明,这毕竟是防火墙:我不知道你这是什么意思。MongoDB实例是一个直接安装在主机服务器上的实例,它必须保留在主机服务器上,因为其他项目/软件也使用它。MongoDB实例在其他方面都可以正常工作,除了我无法从containerOK nevermind内部访问它之外。。。原来这毕竟是防火墙:对不起!谢谢你的帮助!
nsenter
docker exec