DDS communication across docker containers/machines

2 posts / 0 new
Last post
Offline
Last seen: 3 years 2 months ago
Joined: 03/31/2017
Posts: 1
DDS communication across docker containers/machines

 

We have a computationally intensive process running on a server that is publishing DDS data and I have an application running in a container on my local machine that is listening on the same domain with the NDDS_DISCOVERY_PEERS variable set to the server IP address

However, there's no communication between them.

Settings on server,

NDDS_DISCOVERY_PEERS=ServerIP,My_localmachine_IP

NDDS_DOMAIN=xx

Settings on local machine

NDDS_DISCOVERY_PEERS=ServerIP,My_localmachine_IP

 

NDDS_DOMAIN=xx

I tried running nddsping as well but no success. I tried even with the "-peer" option i.e. rtiddsping -peer Ser.ver.IP.xxx but nothing.

However, if I run the container on the same server machine, everything works perfectly. All I had to set was the NDDS_DISCOVERY_PEERS=ServerIP. 

[NOTE: Setting the NDDS_DOMAIN]

Do I need to expose or bind any certain ports on my Docker container or local machine ?

Is there an additional setting for DDS communication between containers across machines? 

Thanks,

C

Keywords:
Offline
Last seen: 1 year 1 month ago
Joined: 05/23/2013
Posts: 64

Hi chennavarri,

Please see the following link to understand ports needed for DDS. I think you need to expose the ports determined by the rules described in the link for containers running DDS. 

https://community.rti.com/kb/what-network-port-numbers-does-rti-connext-use

As a default, Participant ID is assigned automatically, but it can be assigned manually. If you want to use fixed port numbers, please look at the Wire Protocol QoS. 

https://community.rti.com/static/documentation/connext-dds/5.2.3/doc/manuals/connext_dds/html_files/RTI_ConnextDDS_CoreLibraries_UsersManual/Content/UsersManual/WIRE_PROTOCOL_Qos.htm

Thanks,
Kyoungho