Docker

This guide will take you through the process of compiling and runnning an OpenDDS application with Docker. Docker images containing a pre-built OpenDDS are available in GitHub Container Registry. An image corresponding to a particular release has a tag of the form DDS-X.xx, e.g., DDS-3.23.

Prerequisites

Check that docker and docker-compose are installed.

docker --version
docker-compose --version

Compile the Messenger Example

  1. Enter a container

    docker run --rm -ti -v "$PWD:/opt/workspace" ghcr.io/opendds/opendds:latest-release
    
  2. Copy the Messenger directory

    cp -R /opt/OpenDDS/DevGuideExamples/DCPS/Messenger Messenger
    cd Messenger
    
  3. Configure and build the Messenger example

    source /opt/OpenDDS/setenv.sh
    mwc.pl -type gnuace
    make
    
  4. Exit the container

    exit
    

Run the Messenger Example with RTPS

  1. Enter the Messenger directory

    cd Messenger
    
  2. Run the Messenger example with RTPS

    docker-compose up
    

Run the Messenger Example with InfoRepo

  1. Enter the Messenger directory if not done as part of the previous section

    cd Messenger
    
  2. Run the Messenger example with InfoRepo

    docker-compose -f docker-compose-inforepo.yml up
    
  3. Use Control-C to kill the InfoRepo process

Next Steps

See Getting Started for a detailed explanation of the Messenger C++ Example or Java Bindings for the Java Example.