最近试图在宿主机是windows,docker容器为ubuntu22.04的情况下进行多设备间的ros2通信,ros2通信的基础是需要两个设备之间能够ping通,经过一个星期的努力发现挺难的,记录下踩的坑,为后人节约时间。
1、windows不支持docker的host模式
The host networking driver only works on Linux hosts, and is not supported on Docker Desktop for Mac, Docker Desktop for Windows, or Docker EE for Windows Server.
官方解释链接:
https://docs.docker.com/network/drivers/host/
2、Docker Desktop for Windows没法ping linux容器,
Docker Desktop can’t route traffic to Linux containers. However if you’re a Windows user, you can ping the Windows containers.
官网解释链接:
https://docs.docker.com/desktop/networking/#per-container-ip-addressing-is-not-possible