forked from at-wat/neonavigation
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Dockerfile.lunar
42 lines (32 loc) · 1.16 KB
/
Dockerfile.lunar
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# ========================================
FROM alpine:latest as cloner
RUN apk add --no-cache git
WORKDIR /repos
COPY . /repos/src/neonavigation
RUN cd /repos/src \
&& git clone --depth=1 https://github.com/at-wat/neonavigation_msgs.git \
&& git clone --depth=1 https://github.com/at-wat/neonavigation_rviz_plugins.git
RUN mkdir -p /repos-manifests/src \
&& find . -name package.xml | xargs -ISRC cp --parents SRC /repos-manifests/
# ========================================
FROM ros:lunar-ros-core
RUN apt-get -qq update \
&& apt-get upgrade -y \
&& apt-get install -y --no-install-recommends \
curl \
libxml2-utils \
python-pip \
sudo \
wget \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
RUN rosdep update \
&& mkdir -p /catkin_ws/src \
&& cd /catkin_ws/src \
&& bash -c ". /opt/ros/${ROS_DISTRO}/setup.bash && catkin_init_workspace && cd .. && catkin_make"
COPY --from=cloner /repos-manifests/src /catkin_ws/src
RUN apt-get -qq update \
&& rosdep install --from-paths /catkin_ws/src --ignore-src --rosdistro=${ROS_DISTRO} -y \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
COPY --from=cloner /repos/src /catkin_ws/src