我正在docker容器中使用dronekit python,并尝试使用以下命令连接到主机(Mac OSX)上运行的MAVProxy实例:
vehicle = connect('udp:host.docker.internal:14551', wait_ready=True)
但是我得到了以下错误:
File "/usr/local/lib/python3.7/site-packages/pymavlink/mavutil.py", line 1015, in __init__
self.port.bind((a[0], int(a[1])))
OSError: [Errno 99] Cannot assign requested address
有人知道这里有什么问题吗?当我在主机上本地运行python脚本时,我能够使用上面的命令成功地连接,但当我在docker容器中运行python脚本时,就不能了
我发现了一个类似的stackoverflow问题here,但被接受的答案对我来说并不适用。不确定我是否需要暴露端口或类似的东西
以下是我在主机上运行的启动MAVProxy的命令:
mavproxy.py --master=127.0.0.1:14550 --out udp:127.0.0.1:14551 --out udp:10.55.222.120:14550 --out udp:127.0.0.1:14552
我最终使主机上的MAVProxy和docker flask容器中的无人机工具包python正确连接
Seemus790在这个gitter thread中的回答成功了
工作解决方案: 主机上的MAVProxy(在我的例子中是Mac OS)
docker容器中的dronekit python命令:
诀窍是mavproxy命令的out=tcpin:0.0.0:14552部分,它被记录为here
相关问题 更多 >
编程相关推荐