Files
agv_pro_ros2/Dockerfile
T
2026-07-11 21:22:21 +01:00

30 lines
1.0 KiB
Docker

FROM ros:jazzy
# Create the workspace and copy all source directories into it
WORKDIR /ros2_ws
COPY . /ros2_ws/src/
# Stage any dual ROS1/ROS2 packages (e.g. livox_ros_driver2) for ROS2 without
# modifying their upstream source: generate package.xml from package_ROS2.xml so
# colcon can discover them. The ROS2 build is selected via -DROS_EDITION below.
# RUN for d in $(find /ros2_ws/src -type f -name package_ROS2.xml -exec dirname {} \;); do \
# cp -f "$d/package_ROS2.xml" "$d/package.xml"; \
# done
# Install dependencies with rosdep
RUN apt-get update && \
rosdep update && \
rosdep install --from-paths src --ignore-src -r -y && \
rm -rf /var/lib/apt/lists/*
# Build the workspace with symlink install
RUN . /opt/ros/jazzy/setup.sh && \
colcon build --symlink-install \
--cmake-args -DROS_EDITION=ROS2 -DDISTRO_ROS=jazzy
# Source the overlay on container startup
RUN echo "source /opt/ros/jazzy/setup.bash" >> /root/.bashrc && \
echo "source /ros2_ws/install/setup.bash" >> /root/.bashrc
CMD ["bash"]