我是 Docker 和无人机编程的新手。我能够在我的 Windows 10 上将 python 脚本(包含dronekit 代码)部署到 docker 容器。要运行该脚本,我需要连接到主机上的服务。我在下面提供了一个片段,Windows 有一个正在运行的程序(Mavproxy SITL),它暴露了 127.0.0.1:14550,它是 UDP。我的图像应该连接到这个地址。
mydronectrlscript.py:
from dronekit import connect
# Connect to UDP endpoint.
vehicle = connect(‘udp:127.0.0.1:14550’, wait_ready=True)
# Use returned Vehicle object to query device state - e.g. to get the mode:
print(“Mode: %s” % vehicle.mode.name)
我阅读了有关 host.docker.internal 的文档和回复: https ://docs.docker.com/docker-for-windows/networking/ 如何从 docker 容器访问主机端口
对类似问题的回应表明在 Windows/Mac 上使用 host.docker.internal 版本 18.03+。
我的问题是“如何使用”host.docker.internal?它是在 docker run 命令中传递的吗?你能分享一下它是如何使用的例子吗?使用 host.docker.internal 是否允许 py 脚本访问主机的 UDP 127.0.0.1:14550 地址?