Here is the setup:
- MacOS native application running a DDS subscriber
- DDS publisher running in a Ubuntu docker container on the same MacOs host
- They do not see each other and no information exchange occurs. DDS monitor only sees subscriber, and not publisher
Same scenario transferred to Linux:
- Same subscribed recompiled for Ubuntu running on Ubuntu box
- Same DDS publisher in a Ubuntu dockecr container running on the same Ubuntu host
- Communication flawless with information passed accross the two applications.
- Network mode for docker container is set to host
As far as I have learned, Docker does not support host networking on mac and Windows. You can say "--network:host", but it will not have any effect on Mac or Windows. I was trying all sorts of combinations like running bridged network and expose ports, etc. Nothing seems to make a difference.
There has to be a solution to this problem as I have heard people have faced this and solved it in the past, I just cannot figure out how.
There is a post in this forum describing similar problem on Windows, which I think is essentially the same problem. I do not think there is a good answer there.
Please any help will be appreciated.
Nikita