# http://www.eclipse.org/legal/epl-v10.html
##############################################################################
-FROM openjdk:11 AS stage0
+FROM openjdk:11-jdk-slim AS stage0
-WORKDIR /opt/opendaylight
+USER root
+
+ARG ODL_VERSION
-ADD opendaylight .
+RUN set -eux \
+ && cd $HOME \
+ && apt-get update \
+ && apt-get install -y curl \
+ && rm -rf /var/lib/apt/lists/* \
+ && mkdir -p /opt/opendaylight \
+ && jlink --add-modules java.base,java.compiler,java.desktop,java.logging,java.management,java.naming,java.rmi,java.security.sasl,java.sql,java.xml,jdk.jfr,jdk.naming.rmi,jdk.xml.dom,jdk.unsupported --output /opt/openjdk-11 \
+ && rm -rf /usr/local/openjdk-11
-RUN groupadd -r karaf --gid=8181 && \
- useradd -rm -g karaf --uid=8181 karaf && \
- chown -R karaf:karaf .
+COPY start_docker.sh /opt/opendaylight
-FROM scratch
+FROM scratch as stage1
-ENV JAVA_HOME /usr/local/openjdk-11
+ENV JAVA_HOME /opt/openjdk-11
ENV PATH $PATH:$JAVA_HOME/bin
-ENV FEATURES odl-restconf
+ENV FEATURES odl-restconf-all
+
+WORKDIR /opt/opendaylight
+
+ARG ODL_VERSION
COPY --from=stage0 / /
-WORKDIR /opt/opendaylight
+RUN set -eux \
+ && curl https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/opendaylight/${ODL_VERSION}/opendaylight-${ODL_VERSION}.tar.gz | tar zxf - -C /opt/opendaylight/ --strip-components 1 \
+ && groupadd -r karaf --gid=8181 \
+ && useradd -rm -g karaf --uid=8181 karaf \
+ && chown -R karaf:karaf /opt/opendaylight
USER karaf
-EXPOSE 8101 8181
+
+EXPOSE 8101
+EXPOSE 8181
+
CMD ./start_docker.sh
--- /dev/null
+# OpenDaylight Docker Build
+
+
+
+Launch docker build task for ODL version 14.2.0
+
+```
+$ docker build . -f Dockerfile -t opendaylight:14.2.0 --build-arg ODL_VERSION="14.2.0"
+```
+
+Run container
+```
+$ docker run -d -p 8181:8181 opendaylight:14.2.0
+```
\ No newline at end of file
+++ /dev/null
-#!/bin/bash
-# SPDX-License-Identifier: EPL-1.0
-##############################################################################
-# Copyright (c) 2021 The Linux Foundation and others.
-#
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-##############################################################################
-
-set -x
-
-VERSION="14.1.0"
-BASEDIR=$(dirname "$0")
-
-wget --progress=dot:mega -P /tmp https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/opendaylight/${VERSION}/opendaylight-${VERSION}.tar.gz
-tar xzf /tmp/opendaylight-${VERSION}.tar.gz --directory ${BASEDIR}
-rm /tmp/opendaylight-${VERSION}.tar.gz
-mv ${BASEDIR}/opendaylight-${VERSION} ${BASEDIR}/opendaylight
-cp ${BASEDIR}/start_docker.sh ${BASEDIR}/opendaylight