-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile.ros
executable file
·115 lines (87 loc) · 3.74 KB
/
Dockerfile.ros
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
ARG ROS_DISTRIBUTION
FROM ros:$ROS_DISTRIBUTION-ros-base
LABEL mantainer="chiragmakwana02@gmail.com"
SHELL ["/bin/bash","-c"]
COPY ./requirements /requirements
RUN ls requirements
# install required deb packages
RUN apt-get update && cat /requirements/deb-packages.txt | xargs apt-get install -y --no-install-recommends && rm -rf /var/lib/apt/lists/*
# Install ROS Packages
RUN apt-get update && apt-get install -y --no-install-recommends \
ros-${ROS_DISTRO}-mavros \
ros-${ROS_DISTRO}-mavros-extras \
ros-${ROS_DISTRO}-joystick-drivers \
ros-${ROS_DISTRO}-tf \
ros-${ROS_DISTRO}-rosbridge-suite \
&& rm -rf /var/lib/apt/lists/*
# Install mavros dependancies
RUN sudo wget https://raw.githubusercontent.com/mavlink/mavros/master/mavros/scripts/install_geographiclib_datasets.sh
RUN bash ./install_geographiclib_datasets.sh
# RUN apt-get update && apt-get install -y --no-install-recommends \
# gstreamer1.0-tools \
# libgstreamer1.0-dev \
# libgstreamer-plugins-base1.0-dev \
# libgstreamer-plugins-good1.0-dev \
# && rm -rf /var/lib/apt/lists/*
# Install Python Modules
RUN pip install -f /requirements/python-moules.txt
RUN apt-get update && apt-get install -y --no-install-recommends \
ros-${ROS_DISTRO}-perception \
&& rm -rf /var/lib/apt/lists/*
RUN apt-get update && apt-get install -y --no-install-recommends \
software-properties-common \
&& rm -rf /var/lib/apt/lists/*
RUN apt-add-repository ppa:borglab/gtsam-release-4.0 && apt-get update && apt-get install -y --no-install-recommends \
libgtsam-dev \
libgtsam-unstable-dev \
&& rm -rf /var/lib/apt/lists/*
RUN apt-add-repository ppa:ubuntu-toolchain-r/test && apt-get update && apt-get install -y --no-install-recommends \
gcc-7 \
g++-7 \
&& rm -rf /var/lib/apt/lists/*
RUN git clone --recursive https://github.com/berndpfrommer/tagslam_root.git
WORKDIR /tagslam_root
RUN apt-get update && apt-get install -y --no-install-recommends \
python-catkin-tools \
apt-transport-https \
ca-certificates \
&& rm -rf /var/lib/apt/lists/*
RUN wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | sudo apt-key add -
RUN apt-add-repository 'deb https://apt.kitware.com/ubuntu/ xenial main' && apt-get update \
# && apt-get install -y --no-install-recommends kitware-archive-keyring \
&& apt-key --keyring /etc/apt/trusted.gpg del C1F34CDD40CD72DA \
&& apt-get update && apt-get install -y --no-install-recommends \
cmake \
&& rm -rf /var/lib/apt/lists/*
RUN source /opt/ros/${ROS_DISTRO}/setup.bash \
&& catkin config -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER=g++-7 && catkin build
# # ROS workspace
# ARG BUILD_TYPE
# ENV BUILD_ENV=${BUILD_TYPE}
# ENV CATKIN_WS=/root/catkin_ws
# RUN mkdir -p $CATKIN_WS/src
# WORKDIR $CATKIN_WS/src
# COPY ./src .
# # build and install packages
# RUN if [ ${BUILD_ENV} = "install" ]; \
# then source /opt/ros/$ROS_DISTRO/setup.bash \
# && apt-get update \
# && cd $CATKIN_WS \
# && rosdep install -y --from-paths . --ignore-src --rosdistro $ROS_DISTRO \
# && catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release --install-space /opt/ros/$ROS_DISTRO \
# && rm -R src ; \
# elif [ $BUILD_ENV = "devel" ]; \
# then source /opt/ros/$ROS_DISTRO/setup.bash \
# && apt-get update \
# && cd $CATKIN_WS \
# && rosdep install -y --from-paths . --ignore-src --rosdistro $ROS_DISTRO \
# && catkin_make ; \
# else echo "Please select build types: [install/devel]" ; \
# fi
# COPY ./scripts/entrypoint.sh /
# COPY ./scripts/ros-app.launch /
# EXPOSE 11311
# EXPOSE 19997
# EXPOSE 9090
# EXPOSE 9000
# ENTRYPOINT ["/entrypoint.sh"]