Giter Club home page Giter Club logo

onos-docker's Introduction

ONOS Docker ๐Ÿณ

This repository simply allows ONOS v1.15 to be built into a Docker container. You should not be using this for generic use of ONOS as it is outdated. This is designed for the NG-CDI intent based networking demo using the ONOS Intent Monitor and Reroute application found here.

Repo Contents

The 5 Dockerfiles here are separated solely for easing maintainability of the project. They each build atop of each other, so must be tagged correctly when building!

The layer model is: environment -> (onos / imr) -> demo

  • Dockerfile.environment defines a container that simply houses the base build environment for the project. This consists of the apt package dependencies along with appropriate maven and bazel versions for the ng-cdi intents demo.

    docker build --rm -f Dockerfile.environment -t ghcr.io/ng-cdi/onos-docker:intents-environment .

    The bazel install is at the path /root/.bazel/bin/ within this built image


    > The maven install is at the path `/usr/local/apache-maven-/bin` within this built image

    The maven and bazel versions can be set in the arguments MAVEN_VERSION and BAZEL_VERSION respectively

  • Dockerfile.onos defines a container image that houses a built copy of ONOS v1.15. More recent versions of ONOS exist, so don't use this unless you have too.

    ๐Ÿ›‘ Don't build this yourself unless you have lots of RAM, CPUs, storage, and time...

    docker build --rm -f Dockerfile.onos -t ghcr.io/ng-cdi/onos-docker:intents-onos .
  • Dockerfile.imr defines a container image that has the IFWD application, an app that requires the IMR service.

    docker build --rm -f Dockerfile.imr -t ghcr.io/ng-cdi/onos-docker:intents-app .
  • Dockerfile.demo defines a container image that when instantiated, will run ONOS and install the the application via the ONOS REST API.

    docker build --rm -f Dockerfile.demo -t ghcr.io/ng-cdi/onos-docker:intents-demo .

To simply build all of this in order, just run make.

Run

To run this, simply use the intents-demo tag:

docker run --rm -it -p 8101:8101 -p 8181:8181 -p 6653:6653 -p 6640:6640 -p 9876:9876 ghcr.io/ng-cdi/onos-docker:intents-demo

To get the APP ID of the IFWD application installed with ONOS, provided you have jq installed, you can run the following cURL command:

curl --silent -X GET --user onos:rocks http://localhost:8181/onos/v1/applications/org.onosproject.ifwd | jq '.id'

To use the ONOS CLI, use the intents-cli tagged image:

docker run --rm -it --network "host" ghcr.io/ng-cdi/onos-cli:latest

Contributors

onos-docker's People

Contributors

willfantom avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.