Update Dockerfiles to support dynamic package installation and build type configuration
This commit is contained in:
@@ -163,3 +163,9 @@ docker build -t evilfisru/lwc:... -f docker/jazzy/.../Dockerfile .
|
|||||||
|
|
||||||
docker run -it --rm --network host evilfisru/lwa:jazzy-lwa7-noble
|
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
|
FROM evilfisru/ros:jazzy-base-noble
|
||||||
|
ARG BUILD_TYPE=release
|
||||||
|
|
||||||
ENV RMW_IMPLEMENTATION=rmw_cyclonedds_cpp
|
ENV RMW_IMPLEMENTATION=rmw_cyclonedds_cpp
|
||||||
ENV WEBOTS_HOME=/usr/local/webots
|
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/*
|
rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||||
ros-jazzy-rmw-cyclonedds-cpp \
|
ros-${ROS_DISTRO}-webots-ros2 \
|
||||||
# ros-jazzy-webots-ros2-control \
|
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 \
|
python3-pil \
|
||||||
|
&& rm -rf /var/lib/apt/lists/* \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
WORKDIR /ros2_ws
|
WORKDIR /ros2_ws
|
||||||
|
|
||||||
COPY src/ src/
|
COPY src/iiwa_* src/
|
||||||
|
|
||||||
RUN apt-get update && \
|
RUN apt-get update && \
|
||||||
rosdep install --from-paths src -i -r -y && \
|
rosdep install --from-paths src -i -r -y && \
|
||||||
@@ -41,6 +49,8 @@ RUN apt-get update && \
|
|||||||
RUN . /opt/ros/$ROS_DISTRO/setup.sh && \
|
RUN . /opt/ros/$ROS_DISTRO/setup.sh && \
|
||||||
colcon build --mixin release
|
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
|
RUN echo ". /ros2_ws/install/setup.bash" >> /root/.bashrc
|
||||||
|
|
||||||
CMD ["bash"]
|
CMD ["bash"]
|
||||||
|
|||||||
@@ -1,14 +1,21 @@
|
|||||||
FROM evilfisru/ros:jazzy-base-noble
|
FROM evilfisru/ros:jazzy-base-noble
|
||||||
|
ARG BUILD_TYPE=release
|
||||||
|
|
||||||
ENV RMW_IMPLEMENTATION=rmw_cyclonedds_cpp
|
ENV RMW_IMPLEMENTATION=rmw_cyclonedds_cpp
|
||||||
|
|
||||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
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/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
WORKDIR /ros2_ws
|
WORKDIR /ros2_ws
|
||||||
|
|
||||||
COPY src/ src/
|
COPY src/iiwa_* src/
|
||||||
|
|
||||||
RUN apt-get update && \
|
RUN apt-get update && \
|
||||||
rosdep install --from-paths src -i -r -y && \
|
rosdep install --from-paths src -i -r -y && \
|
||||||
@@ -17,6 +24,8 @@ RUN apt-get update && \
|
|||||||
RUN . /opt/ros/$ROS_DISTRO/setup.sh && \
|
RUN . /opt/ros/$ROS_DISTRO/setup.sh && \
|
||||||
colcon build --mixin release
|
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
|
RUN echo ". /ros2_ws/install/setup.bash" >> /root/.bashrc
|
||||||
|
|
||||||
CMD ["bash"]
|
CMD ["bash"]
|
||||||
|
|||||||
Reference in New Issue
Block a user