docker中的ONOS与mininet

注:本文中的系统环境:Linux Mint 19,但由于使用docker和virtualbox(容器与虚拟机技术),本文中的操作理论上在其他系统环境同样适用

安装mininet

推荐使用virtualbox安装mininet,这也是官方推荐的方式,具体方法及更多安装方式请参考mininet download
导入虚拟机然后启动,使用用户名/密码:mininet/mininet登陆
在终端输入:sudo mininet启动mininet
至此,已完成mininet安装

安装docker

打开docker-ce download,选择适合自己的版本并参照指示下载安装
本文以ubuntu为例进行安装,即选择Docker Community Edition for Ubuntu,或直接打开docker-ce ubuntu按照指示完成安装

在docker中安装ONOS

打开终端,输入:docker pull onosproject/onos,等待下载安装完成,如果下载较慢,可以将docker镜像源更换为国内的镜像源(请自行搜索)

测试ONOS与mininet

1.创建容器实例

在终端输入:docker run -t -d --name onos1 onosproject/onos启动ONOS(onos1可以替换成自己想要的名字)

2.获取容器实例 IP

首先查看容器ID,在终端输入:docker ps可以得到类似如下输出

CONTAINER ID IMAGE ......
313a5b1386b9 onosproject/onos ......

在终端输入:docker inspect --format '{{ .NetworkSettings.IPAddress }}' ,其中用获得的ID代替,在本文中也就是:313a5b1386b9
命令执行后,输出即为容器实例 IP,如:172.17.0.2
(注:你还可以将该命令写成bash函数放到 .bashrc 中,具体方法请自行搜索“获取docker实例ip”,如该函数名为docker-ip,那便可直接使用 `docker-ip onos1`表示容器实例的IP,也就是172.17.0.2

3.连接ONOS

有两种方式可以连接进入ONOS,分别是使用ssh和使用web图形界面

a.使用ssh连接ONOS

在终端输入:ssh -p 8101 [email protected],使用密码:karaf登陆,将得到如下欢迎界面

docker中的ONOS与mininet_第1张图片
Screenshot from 2018-11-18 15-56-52.png

b.使用web图形界面

打开浏览器,在地址栏输入:http://172.17.0.2:8181/onos/ui/login.html,使用帐号/密码:karaf/karaf进行登陆

4.激活openflow和fwd

使用ssh进入onos,在终端输入:
app activate org.onosproject.openflow(启用openflow)

app activate org.onosproject.fwd(启用forward转发功能)
当然也可以在web图形界面启用,点击界面左上角的图标,选择Applications,搜索以上两个应用然后启用即可

5.将mininet连接到ONOS

在mininet中输入:sudo mn --topo tree,2 --controller remote,ip=172.17.0.2以创建一个临时网络,然后输入:pingall以测试网路连通性
得到如下输出:

docker中的ONOS与mininet_第2张图片
Screenshot from 2018-11-18 16-22-09.png

同时在ONOS的web界面可以看到该网络拓扑结构,如下图:
docker中的ONOS与mininet_第3张图片
Screenshot from 2018-11-18 21-38-19.png

6.总结

以上便是安装和测试ONOS及mininet的全部内容,笔者并没有在其他操作系统中测试以上内容,但理论上来说对其他系统同样适用,在其他系统环境(如:windows 10)的同学或者有兴趣的同学可以自行测试。
更多相关信息请转至官网和参照官方文档:
https://wiki.onosproject.org/
https://docs.docker.com/
https://github.com/mininet/mininet/wiki/Documentation

你可能感兴趣的:(docker中的ONOS与mininet)