revamped Dockerfile to produce a smaller image (half the previous size)
Change-Id: Ia8d7cfc3ecbe167addc7bf7102a254900fbe8c2c
Showing
1 changed file
with
17 additions
and
16 deletions
1 | FROM debian | 1 | FROM debian |
2 | MAINTAINER Ali Al-Shabibi <ali@onlab.us> | 2 | MAINTAINER Ali Al-Shabibi <ali@onlab.us> |
3 | 3 | ||
4 | -# Install required software | 4 | +# Add Java 8 repository |
5 | ENV DEBIAN_FRONTEND noninteractive | 5 | ENV DEBIAN_FRONTEND noninteractive |
6 | RUN echo debconf shared/accepted-oracle-license-v1-1 select true | debconf-set-selections && \ | 6 | RUN echo debconf shared/accepted-oracle-license-v1-1 select true | debconf-set-selections && \ |
7 | echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" | tee /etc/apt/sources.list.d/webupd8team-java.list && \ | 7 | echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" | tee /etc/apt/sources.list.d/webupd8team-java.list && \ |
8 | echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" | tee -a /etc/apt/sources.list.d/webupd8team-java.list && \ | 8 | echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" | tee -a /etc/apt/sources.list.d/webupd8team-java.list && \ |
9 | - apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys EEA14886 && \ | 9 | + apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys EEA14886 |
10 | - apt-get update && \ | ||
11 | - apt-get install -y oracle-java8-installer oracle-java8-set-default maven git curl && \ | ||
12 | - apt-get clean && apt-get purge | ||
13 | 10 | ||
14 | # Set the environment variables | 11 | # Set the environment variables |
15 | ENV HOME /root | 12 | ENV HOME /root |
... | @@ -21,24 +18,28 @@ ENV KARAF_LOG /root/onos/apache-karaf-3.0.3/data/log/karaf.log | ... | @@ -21,24 +18,28 @@ ENV KARAF_LOG /root/onos/apache-karaf-3.0.3/data/log/karaf.log |
21 | ENV BUILD_NUMBER docker | 18 | ENV BUILD_NUMBER docker |
22 | ENV PATH $PATH:$KARAF_ROOT/bin | 19 | ENV PATH $PATH:$KARAF_ROOT/bin |
23 | 20 | ||
24 | - | 21 | +#Download and Build ONOS |
25 | -# Change to /src directory | ||
26 | WORKDIR /src | 22 | WORKDIR /src |
27 | - | 23 | +RUN apt-get update && apt-get install -y maven git curl oracle-java8-installer oracle-java8-set-default && \ |
28 | -# Download ONOS | 24 | + git clone https://github.com/opennetworkinglab/onos.git && cd onos && \ |
29 | -RUN git clone https://github.com/opennetworkinglab/onos.git | 25 | + mkdir -p /root/Downloads && \ |
30 | - | ||
31 | -#Install ONOS | ||
32 | -WORKDIR /src/onos | ||
33 | -RUN mkdir -p /root/Downloads && \ | ||
34 | mvn clean install && \ | 26 | mvn clean install && \ |
35 | - ./tools/build/onos-package | 27 | + tools/build/onos-package && \ |
28 | + rm -rf /root/.m2 && cd .. && \ | ||
29 | + rm -rf onos && \ | ||
30 | + apt-get remove --purge -y `apt-mark showauto` && \ | ||
31 | + apt-get install oracle-java8-set-default -y && \ | ||
32 | + apt-get clean && apt-get purge -y && apt-get autoremove -y && \ | ||
33 | + rm -rf /var/lib/apt/lists/* && \ | ||
34 | + rm -rf /var/cache/oracle-jdk8-installer && \ | ||
35 | + rm -rf /root/Downloads | ||
36 | 36 | ||
37 | # Change to /root directory | 37 | # Change to /root directory |
38 | WORKDIR /root | 38 | WORKDIR /root |
39 | 39 | ||
40 | +#Install ONOS | ||
40 | RUN mkdir onos && \ | 41 | RUN mkdir onos && \ |
41 | - cp /tmp/onos-*.docker.tar.gz . && \ | 42 | + mv /tmp/onos-*.docker.tar.gz . && \ |
42 | tar -xf onos-*.docker.tar.gz -C onos --strip-components=1 && \ | 43 | tar -xf onos-*.docker.tar.gz -C onos --strip-components=1 && \ |
43 | rm -rf onos-*.docker.tar.gz | 44 | rm -rf onos-*.docker.tar.gz |
44 | 45 | ... | ... |
-
Please register or login to post a comment