From 07192f5416559eb466024024cdc7350fff28c0b4 Mon Sep 17 00:00:00 2001 From: Shivang Vijay Date: Fri, 8 Mar 2024 19:10:37 +0530 Subject: [PATCH] Added docker file and docker compose to dockerize rolling --- Dockerfile | 12 ++++++++++++ docker-compose.yml | 43 +++++++++++++++++++++++++++++++++++++++++++ entrypoint.sh | 21 +++++++++++++++++++++ 3 files changed, 76 insertions(+) create mode 100644 Dockerfile create mode 100644 docker-compose.yml create mode 100755 entrypoint.sh diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..3582ccc8 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,12 @@ +FROM osrf/ros:rolling-desktop +SHELL ["/bin/bash", "-c"] + +RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y +RUN apt update +COPY . /app/src/rmw_zenoh +WORKDIR /app +RUN rosdep install --from-paths src --ignore-src --rosdistro rolling -y +RUN source /opt/ros/rolling/setup.bash && source "$HOME/.cargo/env" && colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release + +SHELL ["/bin/bash", "-c"] +ENTRYPOINT ["/app/src/rmw_zenoh/entrypoint.sh"] diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 00000000..5da0f733 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,43 @@ +version: '3.2' +services: + router: + build: + context: . + image: zenoh:latest + stdin_open: true + tty: true + container_name: router_container + command: router + volumes: + - /dev/shm:/dev/shm + network_mode: host + + + talker: + build: + context: . + image: zenoh:latest + stdin_open: true + tty: true + container_name: talker_container + command: talker + volumes: + - /dev/shm:/dev/shm + network_mode: host + depends_on: + - router + + listener: + build: + context: . + image: zenoh:latest + stdin_open: true + tty: true + container_name: listener_container + command: listener + volumes: + - /dev/shm:/dev/shm + network_mode: host + depends_on: + - router + diff --git a/entrypoint.sh b/entrypoint.sh new file mode 100755 index 00000000..b5cabb73 --- /dev/null +++ b/entrypoint.sh @@ -0,0 +1,21 @@ +#!/bin/bash + +source ./install/setup.bash + +if [ $1 = "router" ] +then + ros2 run rmw_zenoh_cpp rmw_zenohd +fi + +if [ $1 = "talker" ] +then + export RMW_IMPLEMENTATION=rmw_zenoh_cpp + ros2 run demo_nodes_cpp talker +fi + +if [ $1 = "listener" ] +then + export RMW_IMPLEMENTATION=rmw_zenoh_cpp + ros2 run demo_nodes_cpp listener +fi +