This repository has been archived by the owner on Apr 15, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Dockerfile.amd64
64 lines (57 loc) · 2.46 KB
/
Dockerfile.amd64
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
# Copyright (C) 2018 Christian Berger
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Part to build opendlv-perception-vision-orbslam2.
FROM alpine:edge as builder
MAINTAINER Christian Berger "[email protected]"
#Get OS stuff
RUN echo "@testing http://nl.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories
RUN apk update && \
apk --no-cache add \
cmake \
#bash \
g++ \
make \
gdb \
valgrind \
upx \
git \
mercurial \
opencv-dev@testing
#Install libs
WORKDIR /tmp
RUN hg clone https://bitbucket.org/eigen/eigen && cd eigen && hg pull && hg update 3.2 && mkdir build && cd build && cmake .. && make -j4 install
RUN git clone https://github.com/marbae/g2o && cd g2o && mkdir build && cd build && cmake -DG2O_BUILD_APPS=OFF -DG2O_BUILD_EXAMPLES=OFF .. && make -j4 install
#install Microservice
ADD . /opt/sources
WORKDIR /opt/sources
RUN mkdir -p build && \
cd build && \
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/tmp/opendlv-perception-vision-orbslam2-dest .. && \
make -j4 && make test && make install && upx -9 /tmp/opendlv-perception-vision-orbslam2-dest/bin/opendlv-perception-vision-orbslam2
# Part to deploy opendlv-perception-vision-orbslam2
FROM alpine:edge
MAINTAINER Christian Berger "[email protected]"
RUN echo "@testing http://nl.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories
RUN apk update && \
apk --no-cache add \
opencv@testing
#Start microservice
WORKDIR /usr/bin
COPY --from=builder /usr/local/include/ /usr/include/
COPY --from=builder /usr/local/lib/ /usr/lib/
COPY --from=builder /usr/lib/ /usr/lib/
COPY --from=builder /tmp/opendlv-perception-vision-orbslam2-dest/bin/opendlv-perception-vision-orbslam2 .
#RUN apk update && apk add g++ #This is extremely ugly and needs to be fixed
CMD ["/usr/bin/opendlv-perception-vision-orbslam2"]