#################################################################### # # Dockerfile to build a ODL (Karaf) Docker Container # # Copyright daniel.smith@ericsson.com # License: Apache GPL # #################################################################### #Set the base image - note: the current release of Karaf is using Jdk7 and alot of 12.04, so we will use it rather than 14.04 and backport a ton of stuff FROM ubuntu:12.04 # Maintainer Info MAINTAINER Daniel Smith #Run apt-get update one start just to check for updates when building RUN echo "Updating APT" RUN apt-get update RUN echo "Adding wget" RUN apt-get install -y wget RUN apt-get install -y net-tools RUN apt-get install -y openjdk-7-jre RUN apt-get install -y openjdk-7-jdk RUN apt-get install -y openssh-server RUN apt-get install -y vim RUN apt-get install -y expect RUN apt-get install -y daemontools RUN mkdir -p /opt/odl_source RUN bash -c 'echo "export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64" >> ~/.bashrc' #Now lets got and fetch the ODL distribution RUN echo "Fetching ODL" RUN wget https://nexus.opendaylight.org/content/groups/public/org/opendaylight/integration/distribution-karaf/0.2.3-Helium-SR3/distribution-karaf-0.2.3-Helium-SR3.tar.gz -O /opt/odl_source/distribution-karaf-0.2.3-Helium-SR3.tar.gz RUN echo "Untarring ODL inplace" RUN mkdir -p /opt/odl RUN tar zxvf /opt/odl_source/distribution-karaf-0.2.3-Helium-SR3.tar.gz -C /opt/odl RUN echo "Installing DLUX and other features into ODL" COPY tmp/dockerfile/container_scripts/start_odl_docker.sh /etc/init.d/start_odl_docker.sh COPY tmp/dockerfile/container_scripts/speak.sh /etc/init.d/speak.sh RUN chmod 777 /etc/init.d/start_odl_docker.sh RUN chmod 777 /etc/init.d/speak.sh # Expose the ports # PORTS FOR BASE SYSTEM AND DLUX EXPOSE 8101 EXPOSE 6633 EXPOSE 1099 EXPOSE 43506 EXPOSE 8181 EXPOSE 8185 EXPOSE 9000 EXPOSE 39378 EXPOSE 33714 EXPOSE 44444 EXPOSE 6653 # PORTS FOR OVSDB AND ODL CONTROL EXPOSE 12001 EXPOSE 6640 EXPOSE 8080 EXPOSE 7800 EXPOSE 55130 EXPOSE 52150 EXPOSE 36826 # set the ENTRYPOINT - An entry point allows us to run this container as an exectuable CMD ["/etc/init.d/start_odl_docker.sh"]