Update Dockerfiles to support dynamic package installation and build type configuration
This commit is contained in:
@@ -162,4 +162,10 @@ chmod +x doc/build_docs.sh
|
||||
docker build -t evilfisru/lwc:... -f docker/jazzy/.../Dockerfile .
|
||||
|
||||
docker run -it --rm --network host evilfisru/lwa:jazzy-lwa7-noble
|
||||
```
|
||||
```
|
||||
|
||||
# release - src/build/log удаляются (по умолчанию)
|
||||
`docker build -t my-image .`
|
||||
|
||||
# dev - src остаётся для отладки
|
||||
`docker build --build-arg BUILD_TYPE=dev -t my-image .`
|
||||
@@ -1,4 +1,5 @@
|
||||
FROM evilfisru/ros:jazzy-base-noble
|
||||
ARG BUILD_TYPE=release
|
||||
|
||||
ENV RMW_IMPLEMENTATION=rmw_cyclonedds_cpp
|
||||
ENV WEBOTS_HOME=/usr/local/webots
|
||||
@@ -25,14 +26,21 @@ RUN wget -q https://github.com/cyberbotics/webots/releases/download/R2025a/webot
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
ros-jazzy-rmw-cyclonedds-cpp \
|
||||
# ros-jazzy-webots-ros2-control \
|
||||
ros-${ROS_DISTRO}-webots-ros2 \
|
||||
ros-${ROS_DISTRO}-ros2-control \
|
||||
ros-${ROS_DISTRO}-ros2-controllers \
|
||||
ros-${ROS_DISTRO}-rmw-cyclonedds-cpp \
|
||||
ros-${ROS_DISTRO}-moveit \
|
||||
ros-${ROS_DISTRO}-moveit-py \
|
||||
ros-${ROS_DISTRO}-ament-cmake-clang-format \
|
||||
ros-${ROS_DISTRO}-rosbag2-storage-mcap \
|
||||
python3-pil \
|
||||
&& rm -rf /var/lib/apt/lists/* \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
WORKDIR /ros2_ws
|
||||
|
||||
COPY src/ src/
|
||||
COPY src/iiwa_* src/
|
||||
|
||||
RUN apt-get update && \
|
||||
rosdep install --from-paths src -i -r -y && \
|
||||
@@ -41,6 +49,8 @@ RUN apt-get update && \
|
||||
RUN . /opt/ros/$ROS_DISTRO/setup.sh && \
|
||||
colcon build --mixin release
|
||||
|
||||
RUN if [ "$BUILD_TYPE" = "release" ]; then rm -rf src/ build/ log/; fi
|
||||
|
||||
RUN echo ". /ros2_ws/install/setup.bash" >> /root/.bashrc
|
||||
|
||||
CMD ["bash"]
|
||||
|
||||
@@ -1,14 +1,21 @@
|
||||
FROM evilfisru/ros:jazzy-base-noble
|
||||
ARG BUILD_TYPE=release
|
||||
|
||||
ENV RMW_IMPLEMENTATION=rmw_cyclonedds_cpp
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
ros-jazzy-rmw-cyclonedds-cpp \
|
||||
ros-${ROS_DISTRO}-ros2-control \
|
||||
ros-${ROS_DISTRO}-ros2-controllers \
|
||||
ros-${ROS_DISTRO}-rmw-cyclonedds-cpp \
|
||||
ros-${ROS_DISTRO}-moveit \
|
||||
ros-${ROS_DISTRO}-moveit-py \
|
||||
ros-${ROS_DISTRO}-ament-cmake-clang-format \
|
||||
ros-${ROS_DISTRO}-rosbag2-storage-mcap \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
WORKDIR /ros2_ws
|
||||
|
||||
COPY src/ src/
|
||||
COPY src/iiwa_* src/
|
||||
|
||||
RUN apt-get update && \
|
||||
rosdep install --from-paths src -i -r -y && \
|
||||
@@ -17,6 +24,8 @@ RUN apt-get update && \
|
||||
RUN . /opt/ros/$ROS_DISTRO/setup.sh && \
|
||||
colcon build --mixin release
|
||||
|
||||
RUN if [ "$BUILD_TYPE" = "release" ]; then rm -rf src/ build/ log/; fi
|
||||
|
||||
RUN echo ". /ros2_ws/install/setup.bash" >> /root/.bashrc
|
||||
|
||||
CMD ["bash"]
|
||||
|
||||
Reference in New Issue
Block a user