add docker build
[osm/RO.git] / docker / Dockerfile-local
1 from ubuntu:xenial
2
3 MAINTAINER Gennadiy Dubina <gennadiy.dubina@dataat.com>
4
5 # script uses it
6 ENV USER=root
7
8 #avoid extra information from packages
9 RUN echo 'path-exclude /usr/share/doc/*\n\
10 path-include /usr/share/doc/*/copyright\n\
11 path-exclude /usr/share/man/*\n\
12 path-exclude /usr/share/groff/*\n\
13 path-exclude /usr/share/info/*\n\
14 path-exclude /usr/share/lintian/*\n\
15 path-exclude /usr/share/linda/*\n'\
16 > /etc/dpkg/dpkg.cfg.d/01_nodoc && \
17     echo  'APT::Install-Recommends "false";\n\
18 APT::AutoRemove::RecommendsImportant "false";\n\
19 APT::AutoRemove::SuggestsImportant "false";\n'\
20 > /etc/apt/apt.conf.d/99_norecommends
21
22 #generate lsb_release stub
23 RUN echo 'if [ "$1" == "-is" ]; then echo "Ubuntu"; else if [ "$1" == "-rs" ]; then echo "16.04"; fi fi' > /usr/bin/lsb_release && chmod +x /usr/bin/lsb_release
24
25 COPY . /usr/local/src/openmano
26
27 RUN apt update && \
28   DEBIAN_FRONTEND=noninteractive apt install -fqy software-properties-common make gcc git python python-dev python-pip sudo wget && \
29   pip install --upgrade pip && \
30   cd /usr/local/src/openmano && \
31   make build && \
32   cd build && \
33   ./scripts/install-openmano.sh -q --noclone --no-db && \
34   cd / && \
35   rm -rf /usr/local/src/openmano && \
36   rm -rf /usr/include/* && \
37   rm -rf /root/.cache && \
38   apt purge -y make gcc git curl wget python-dev python-pip && \
39   apt autoremove -y && \ 
40   apt clean && \
41   rm -rf /var/lib/apt/lists/*
42
43 COPY docker/scripts/ /opt/openmano-docker
44
45 VOLUME /opt/openmano/logs
46 EXPOSE 9090
47
48 env DB_USER='' DB_PSWD='' DB_HOST='' DB_PORT=3306 DB_NAME=mano_db
49
50 CMD /opt/openmano-docker/start.sh