#!/bin/bash # Install RTI Connext into existing Docker image set -e RTI_SOURCE="/home/torsten/swy/sandbox/external/rti_connext_dds-7.7.0" BASE_IMAGE="lifemaps/ci-cpp:latest" TARGET_IMAGE="lifemaps/ci-cpp:rti" echo "Step 1: Create container from base image..." CONTAINER_ID=$(docker create --name rti-install-temp $BASE_IMAGE /bin/bash) echo "Step 2: Copy RTI Connext into container..." docker cp "$RTI_SOURCE" "$CONTAINER_ID:/opt/rti_connext_dds-7.7.0" echo "Step 3: Commit container as new image..." docker commit $CONTAINER_ID $TARGET_IMAGE echo "Step 4: Remove temporary container..." docker rm $CONTAINER_ID echo "Step 5: Set environment variables in image..." docker run --rm $TARGET_IMAGE /bin/bash -c ' echo "RTI Connext installed successfully" ls -la /opt/rti_connext_dds-7.7.0 | head -10 ' echo "" echo "RTI Connext installed in image: $TARGET_IMAGE" echo "To use this image, set environment variables:" echo " docker run -e RTI_CONNEXT_HOME=/opt/rti_connext_dds-7.7.0 \\" echo " -e NDDSHOME=/opt/rti_connext_dds-7.7.0 \\" echo " -e PATH=/opt/rti_connext_dds-7.7.0/bin:\$PATH \\" echo " -e LD_LIBRARY_PATH=/opt/rti_connext_dds-7.7.0/lib/x64Linux4gcc7.3.0:\$LD_LIBRARY_PATH \\" echo " -e CMAKE_PREFIX_PATH=/opt/rti_connext_dds-7.7.0/lib/cmake:\$CMAKE_PREFIX_PATH \\" echo " $TARGET_IMAGE"