36 lines
919 B
Docker
36 lines
919 B
Docker
# Use ROS 2 Humble Hawksbill base image
|
|
FROM osrf/ros:humble-desktop-full-jammy
|
|
|
|
# Update and install dependencies
|
|
RUN apt-get update && apt-get install -y \
|
|
python3-colcon-common-extensions python3-pip \
|
|
ros-humble-xacro \
|
|
ros-humble-hardware-interface \
|
|
ros-humble-controller-interface
|
|
|
|
COPY requirements.txt ./
|
|
RUN pip install --no-cache-dir -r requirements.txt
|
|
|
|
# Create a workspace
|
|
WORKDIR /ros2_ws
|
|
|
|
# Copy your ROS 2 package into the workspace
|
|
COPY ./src /ros2_ws/src
|
|
|
|
# get all the ros dependencies
|
|
RUN rosdep update && rosdep install --ignore-src --from-paths src -y
|
|
|
|
# remove unnecessary pkgs
|
|
RUN rm -rf /var/lib/apt/lists/*
|
|
|
|
# Build your package
|
|
RUN . /opt/ros/humble/setup.sh && \
|
|
colcon build
|
|
|
|
RUN echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc
|
|
|
|
ENV PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/ros/humble/bin"
|
|
|
|
# Source the workspace
|
|
CMD ["/bin/bash"]
|