FROM ubuntu:22.04 ENV DEBIAN_FRONTEND=noninteractive \ ROS_DISTRO=humble \ LANG=en_US.UTF-8 \ LC_ALL=en_US.UTF-8 RUN apt-get update && apt-get install -y \ curl gnupg2 lsb-release locales \ software-properties-common \ build-essential cmake git wget \ python3-pip \ && locale-gen en_US.UTF-8 \ && update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 \ && rm -rf /var/lib/apt/lists/* RUN mkdir -p /root/ros2_humble \ && cd /root/ros2_humble \ && wget https://github.com/ros2/ros2/releases/download/release-humble-20230724/ros2-humble-20230724-linux-jammy-amd64.tar.bz2 \ && tar xf ros2-humble-20230724-linux-jammy-amd64.tar.bz2 RUN add-apt-repository universe \ && curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key \ -o /usr/share/keyrings/ros-archive-keyring.gpg \ && echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] \ http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" \ > /etc/apt/sources.list.d/ros2.list \ && apt-get update \ && apt-get install -y python3-rosdep python3-colcon-common-extensions \ && rosdep init \ && rosdep update RUN apt-get upgrade -y \ && rosdep install --from-paths /root/ros2_humble/ros2-linux/share --ignore-src -y \ --skip-keys "cyclonedds fastcdr fastrtps rti-connext-dds-6.0.1 urdfdom_headers" RUN mkdir -p /root/fastdds_ws/src WORKDIR /root/fastdds_ws/src RUN git clone -b 2.6.3 https://github.com/eProsima/Fast-DDS.git fastdds RUN git clone -b v1.0.25 https://github.com/eProsima/Fast-CDR.git fastcdr RUN git clone -b 6.2.3 https://github.com/ros2/rmw_fastrtps.git rmw_fastrtps SHELL ["/bin/bash", "-c"] WORKDIR /root/fastdds_ws RUN . /root/ros2_humble/ros2-linux/setup.bash \ && rosdep install --from-paths src -y \ && colcon build --symlink-install RUN echo "source /root/ros2_humble/ros2-linux/setup.bash" >> /root/.bashrc \ && echo "source /root/fastdds_ws/install/setup.bash" >> /root/.bashrc ENTRYPOINT ["/bin/bash"]