我对这个问题感到很困惑。我的内部网络中有两台计算机。两台计算机都可以ping内部服务器
两台计算机都有相同的docker版本。
我在两台计算机上运行带有docker run -it --rm --name cont1 --net=host java:8
命令的简单docker容器。然后ssh到容器并尝试ping内部服务器。其中一个容器可以ping内部服务器,但其他容器无法访问任何内部服务器。
怎么可能?你对此有什么想法吗?
谢谢
答案 0 :(得分:0)
通过端口映射将容器连接到同一网络中的其他系统。 为此,您需要运行具有端口映射的docker容器。 喜欢 - docker run -it --rm --name cont1 -p host_ip:host_port:container_port java:8
例如,docker run -it --rm --name cont1 -p 192.168.134.122:1234:1500 java:8注意:docker run中给出的容器端口在Dockerfile中公开
现在例如容器ip将是 - 172.17.0.2运行中给出的端口是:1500
现在请求发送到host_ip(192.168.134.122)和host_port(1234)重定向到容器,其中包含ip(172.17.0.2)和端口(1500)。
请参阅iptables -L -n -t nat
中的绑定详细信息由于