我已经尝试过指定-p 23456:23456和-P,并且我正在使用我的机器人应用程序,它通过该端口建立双向通信。从容器到车辆驱动程序计算机,它会发送到达它的消息,因为它已经联机#34;。然而,它很快失败了,我相信它是因为它无法通过该端口将消息发送到docker容器中并且它超时。
我已经看过this帖子,说明为什么您无法从本地网络上的计算机ping容器,但我该怎么做才能解决这个问题?我需要本地网络上的计算机与docker容器进行通信。
感谢您的帮助。
答案 0 :(得分:1)
您的容器直接向车辆驾驶员发送消息,但是您的车辆驾驶员应该将消息发送到码头工具所在的机器上(在您的情况下是端口23456)(它是在该端口上侦听并将其转发到正确的容器)
示例:docker run --name container-name -p 80:8080 container-image
要达到它你应该ping dockerhost:80,这将转发容器端口8080上的ping 来自https://docs.docker.com/engine/userguide/networking/default_network/binding/
默认情况下,Docker容器可以与外界建立连接,但外部世界无法连接到容器。由于Docker服务器在启动时创建的主机上的iptables伪装规则,每个传出连接似乎都来自主机的一个IP地址