diff --git a/docker/my_example.Dockerfile b/docker/my_example.Dockerfile index b77f260..486969d 100644 --- a/docker/my_example.Dockerfile +++ b/docker/my_example.Dockerfile @@ -11,22 +11,15 @@ FROM osrf/ros:${ROS_DISTRO}-desktop as base SHELL ["/bin/bash", "-c"] # change shell to bash because of better compatibility (standard shell would be sh otherwise). -ENV UNDERLAY_WS=${UNDERLAY_WS} -ENV OVERLAY_WS=${OVERLAY_WS} - -# First checks -RUN echo "Underlay WS:" && $UNDERLAY_WS -RUN echo "Overlay WS:" && $OVERLAY_WS - # Create Colcon workspace with external dependencies -RUN mkdir -p ${UNDERLAY_WS}/src -WORKDIR ${UNDERLAY_WS}/src +RUN mkdir -p /base_ws/src +WORKDIR /base_ws/src COPY my.repos . RUN mv my.repos dependencies.repos RUN vcs import < dependencies.repos # Build the base Colcon workspace, installing dependencies first. -WORKDIR ${UNDERLAY_WS} +WORKDIR /base_ws RUN source /opt/ros/${ROS_DISTRO}/setup.bash \ && apt-get update -y \ && apt-get install -y --no-install-recommends \ @@ -36,7 +29,7 @@ RUN source /opt/ros/${ROS_DISTRO}/setup.bash \ RUN source /opt/ros/${ROS_DISTRO}/setup.bash \ && colcon build --symlink-install -#ENV UNDERLAY_WS=${UNDERLAY_WS} +#ENV UNDERLAY_WS=/base_ws # Set up the entrypoint COPY ./docker/my_entrypoint.sh /entrypoint.sh @@ -54,23 +47,23 @@ ENTRYPOINT [ "/entrypoint.sh" ] FROM base AS overlay # Create an overlay Colcon workspace -RUN mkdir -p ${OVERLAY_WS}/src -WORKDIR ${OVERLAY_WS}/src +RUN mkdir -p /overlay_ws/src +WORKDIR /overlay_ws/src COPY my_extended.repos ./overlay.repos RUN vcs import < overlay.repos -WORKDIR ${OVERLAY_WS} +WORKDIR /overlay_ws ENV DEBIAN_FRONTEND noninteractive -RUN source ${UNDERLAY_WS}/install/setup.bash \ +RUN source /base_ws/install/setup.bash \ && apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get install \ nano \ && rosdep install --from-paths src --ignore-src --rosdistro ${ROS_DISTRO} -y \ && rm -rf /var/lib/apt/lists/* -RUN source ${UNDERLAY_WS}/install/setup.bash \ +RUN source /base_ws/install/setup.bash \ && colcon build --symlink-install # Set up the entrypoint