diff --git a/README.md b/README.md index 8099a2a..b457caf 100644 --- a/README.md +++ b/README.md @@ -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 -``` \ No newline at end of file +``` + +# release - src/build/log удаляются (по умолчанию) +`docker build -t my-image .` + +# dev - src остаётся для отладки +`docker build --build-arg BUILD_TYPE=dev -t my-image .` \ No newline at end of file diff --git a/docker/jazzy/ros-iiwa7-webots/Dockerfile b/docker/jazzy/ros-iiwa7-webots/Dockerfile index 16c1905..6753085 100644 --- a/docker/jazzy/ros-iiwa7-webots/Dockerfile +++ b/docker/jazzy/ros-iiwa7-webots/Dockerfile @@ -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"] diff --git a/docker/jazzy/ros-iiwa7/Dockerfile b/docker/jazzy/ros-iiwa7/Dockerfile index 48191f0..2271cf9 100644 --- a/docker/jazzy/ros-iiwa7/Dockerfile +++ b/docker/jazzy/ros-iiwa7/Dockerfile @@ -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"]