-
Notifications
You must be signed in to change notification settings - Fork 22
/
Dockerfile
83 lines (77 loc) · 2.35 KB
/
Dockerfile
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
FROM ros:humble-ros-base
ENV ROS_LOCALHOST_ONLY=1
ENV ROS_DOMAIN_ID=21
RUN set -xe; \
export DEBIAN_FRONTEND=noninteractive; \
apt-get update; \
apt-get install -y \
# ROS dependencies
ros-humble-rviz2 \
ros-humble-joint-state-publisher-gui \
ros-humble-rmw \
ros-humble-lifecycle-msgs \
ros-humble-rclcpp \
ros-humble-rcl-lifecycle \
ros-humble-rosidl-typesupport-cpp \
ros-humble-ament-cmake-gtest \
ros-humble-ament-lint-auto \
ros-humble-ament-lint-common \
ros-humble-mimick-vendor \
ros-humble-performance-test-fixture \
ros-humble-rcpputils \
ros-humble-rcutils \
ros-humble-test-msgs \
ros-humble-ament-cmake-ros \
ros-humble-ament-index-cpp \
ros-humble-builtin-interfaces \
ros-humble-rcl-interfaces \
ros-humble-rosgraph-msgs \
ros-humble-rosidl-runtime-cpp \
ros-humble-rosidl-typesupport-c \
ros-humble-libstatistics-collector \
ros-humble-rcl \
ros-humble-rcl-yaml-param-parser \
ros-humble-statistics-msgs \
ros-humble-tracetools \
ros-humble-ament-cmake-gmock \
ros-humble-ament-cmake-google-benchmark \
ros-humble-rmw-implementation-cmake \
ros-humble-rosidl-default-generators \
ros-humble-ament-cmake-gen-version-h \
python3-dev \
ros-humble-std-msgs \
ros-humble-ament-cmake \
ros-humble-class-loader \
ros-humble-composition-interfaces \
ros-humble-launch-testing \
ros-humble-rosidl-runtime-c \
ros-humble-action-msgs \
ros-humble-rcl-action \
# cactus_rt dependencies
protobuf-compiler \
# Utility tools
sudo \
git \
rsync \
stress-ng \
gdb \
sshpass \
; \
apt-get clean; \
rm -rf /var/lib/apt/lists/*;
COPY exercise3-2 /opt/code/exercise3-2
COPY vendor /opt/code/vendor
RUN set -xe; \
cp -ar /opt/code /code; \
cd /code/exercise3-2; \
. /opt/ros/humble/setup.sh; \
colcon build; \
tar czf exercise3-2-build-output.tar.gz build install; \
cp exercise3-2-build-output.tar.gz /opt; \
cd /; \
rm -rf /code
COPY docker/bin /opt/bin
COPY docker/profile.d/custom.sh /etc/profile.d/custom.sh
COPY docker/rpi_ssh.conf /etc/ssh/ssh_config.d/rpi_ssh.conf
COPY prebuilts/perfetto /opt/perfetto
ENTRYPOINT ["/opt/bin/entrypoint"]