-
Notifications
You must be signed in to change notification settings - Fork 0
/
Dockerfile.amd64
54 lines (49 loc) · 2.13 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
# 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-logic-cfsd18-sensation-slam.
FROM alpine:3.7 as builder
MAINTAINER Christian Berger "christian.berger@gu.se"
#Get OS stuff
RUN apk update && \
apk --no-cache add \
cmake \
# bash \
g++ \
make \
upx \
git \
mercurial
#Install libs
WORKDIR /tmp
RUN hg clone https://bitbucket.org/eigen/eigen && cd eigen && mkdir build && cd build && cmake .. && make -j4 install
RUN git clone https://github.com/RainerKuemmerle/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-logic-cfsd18-sensation-slam-dest .. && \
make && make test && make install && upx -9 /tmp/opendlv-logic-cfsd18-sensation-slam-dest/bin/opendlv-logic-cfsd18-sensation-slam
# Part to deploy opendlv-logic-cfsd18-sensation-slam.
FROM alpine:3.7
MAINTAINER Christian Berger "christian.berger@gu.se"
#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-logic-cfsd18-sensation-slam-dest/bin/opendlv-logic-cfsd18-sensation-slam .
#RUN apk update && apk add g++ #This is extremely ugly and needs to be fixed
CMD ["/usr/bin/opendlv-logic-cfsd18-sensation-slam"]