Docker的Windows主机networking堆栈使用

目前,我正在使用ROS,Bebop_autonomy和OpenCV来自主控制Parrot Bebop2。 我们在工作区中使用的机器运行的是Ubuntu 14.04.5,我可以使用映像启动一个容器

我用“docker run -it –network = host username / image”创build。 configuration容器内的所有内容后,bebop_autonomy节点就可以正常工作,并且可以在Bebop的networking上完美地通信。 在容器和主机中运行ip addr时,它们显示的地址与您所期望的相同。

但是,当我试图在Windows机器上运行它时,ip与主机不同,当我尝试与Bebop通信时,我从来没有收到任何ACK数据包。 我假设这是因为数据包没有被发送到正确的IP地址,或者他们没有被正确转发。

我已经尝试创build自己的networking和手动设置IP“泊坞窗networking创build”,并将其作为parameter passing给运行命令,但我似乎无法得到它的工作。 我也尝试在Hyper-Vpipe理器中创build不同的开关,但是在过去的几天中我没有看到任何开关,这帮助我弄清楚了这一点。

我已经掌握了docker的工作原理,但是我所看到的大部分参考资料都是关于一个已经运行linux的主机。 如果我不能解决这个问题,首先继续使用docker几乎是没有用的。

有没有什么办法可以configurationDocker for Windows,使其工作方式与Docker在提供–network = host时工作在Linux上的相同?

通过在Hyper-Vpipe理器中创build单独的networking,将networking设置为仅使用外部WiFi适配器,并使用该networking运行容器,我最终实现了我想要的目标。 但是必须有一个更好的方法。