onos2.0构建docker image及启动集群

onos 构建docker image

1 前置安装(docker)

查看官网Docker CE

2 添加sdn用户(我这里直接建立了一个虚拟机,用户就是sdn,这样就不需要第3步)

#step1: 切换成 root登录
#step2: adduser username
adduser sdn
#step3: 跟随系统提示完成 以后操作

3 普通用户使用docker(这里主要是为了clusterCreate脚本里面的onos指令调用,sudo情况下不知道onos的路径)

# 1 首先创建docker用户组,如果docker用户组存在可以忽略
sudo groupadd docker

# 2 将当前ubuntu用户加入docker用户组
sudo gpasswd -a ${USER} docker

# 3 重启docker
sudo service docker restart

# 4 如果普通用户执行docker命令,如果提示get …… dial unix /var/run/docker.sock权限不够,则修改/var/run/docker.sock权限
sudo chmod a+rw /var/run/docker.sock
sudo chown sdn:sdn /home/sdn/.docker -R

4 构建onos docker image

cd /opt/onos
# 这里有关于onos的docker
# docker build -t image_name:tag Dockerfile_PATH .
# 这里的/opt/onos == Dockerfile_PATH
sudo docker build --network=host -t onos:2.0.1 .
sudo docker build  -t onos:2.0.1 .
# 运行的时候可能会报错,没有java 环境库
# 修改第一行
FROM picoded/ubuntu-openjdk-8-jdk as builder


5 docker相关指令

# 查看docker磁盘使用空间
sudo docker system df

# 删除指定容器
sudo docker stop [conatiner_id]
sudo docker rm [container_id]

# 删除指定镜像
sudo docker rmi [image_id]

# 停止所有的容器
sudo docker stop $(sudo docker ps -a -q)

# 删除所有的容器
sudo docker rm $(sudo docker ps -a -q)

#清理所有停止的容器
sudo docker container prune 

# 修改images名称
# docker tag IMAGEID(镜像id) REPOSITORY:TAG(仓库:标签)
# 上传到自己的私有仓库
sudo docker push 13586969678/onos:v2.0.1

6 运行自己的docker,构建集群(官网上内容陈旧无效了,在gerrit仓库里面找docker发现了相关内容,这里要先利用DockerFile构建自己的镜像)

6.1 查看/onos/tools/tutorials/vm下的createCluster获知要修改的内容(这里要修改Atomix和onos相关的内容)
# 查看/onos/tools/tutorials/vm下的createCluster
# 修改ATOMIX_IMAGE
# 在onos中全局搜索atomix,获取相关的版本信息
# 在2.0.1里面是3.15

6.2 修改ATOMIX_IMAGE相关内容
# STEP 1 修改ATOMIX_IMAGE为3.1.5
ATOMIX_IMAGE=atomix/atomix:3.1.5

# STEP 2 拉取atomix镜像
sudo docker pull atomix/atomix:3.1.5

# STEP 3 查看脚本里面的docker指令,这里-v代表着挂载,
# 原来内容为/home/sdn/bin/config:/atomix $ATOMIX_IMAGE
# 意思是将主机/home/sdn/bin/config目录挂载到image的/atomix目录上。然后后面的配置文件从里面取

# 这里将/home/sdn/bin/config改为
/opt/onos/tools/tutorials/vm/config
6.3 拉取或使用新构建的onos images,修改createCluster脚本
# 我这里是拉取的先前生成好的image
sudo docker pull 13586969678/onos:v2.0.1

# 修改createCluster脚本
ONOS_IMAGE=13586969678/onos:v2.0.1
6.4 运行createCluster(前提是将当前用户加入到docker用户组)
./createCluster
6.5 销毁
./destroyCluster
清理(ssh容易引起问题)
# 登录某个节点 密码karaf onos-1是某个节点的名字
ssh -p 8101 karaf@`docker-ip onos-1`
# 删除秘钥
ssh-keygen -f "/home/vm/.ssh/known_hosts" -R [172.17.0.8]:8101
# 清理
./destroyCluster
转载请标明出处!!!!!!!
有用的可以点个赞,后续还会上新博客!!!!!!!
  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值