1. 安装Docker,我的之前已经安装好了:
安装软件包apt-transport-https,使APT系统能够被https解析
sudo apt-get install apt-transport-https
添加Docker repository key到本地keychain
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9
添加docker软件仓库到软件源,升级软件源,安装lxc-docker包
sudo sh -c "echo deb https://get.docker.com/ubuntu docker main > /etc/apt/sources.list.d/docker.list"
sudo apt-get update
sudo apt-get install lxc-docker
2. 配置阿里云Docker镜像加速器
由于某些原因国内下载镜像速度非常慢,慢到了无法忍受的地步,那就只好另寻它法了,这里我们采用阿里云提供的Docker镜像加速器。
浏览器访问:https://dev.aliyun.com/search.html,打开 开发者平台 – 管理中心 – 镜像加速器 。可以看到 “您的专属加速器地址” 即 https://xxxxxxx.mirror.aliyuncs.com 。
如下图所示:
按提示配置即可,速度比之前快的不要不要的。
3.下载镜像到本地(Ubuntu 14.04):
sudo docker pull ubuntu:14.04
启动Ubuntu 14.04:
sudo docker run -i -t ubuntu:14.04 /bin/bash
创建的Docker镜像如果不包含ifconfig、netstat等工具,需要自行安装,执行以下命令安装即可(在docker镜像中执行):
apt-get update
apt-get install net-tools
4.安装基本依赖:
安装git:
apt-get install git
安装wget:
apt-get install wget
安装Oracle JDK(OpenDaylight 使用Java语言开发):
wget http://download.oracle.com/otn-pub/java/jdk/8u151-b12/e758a0de34e24606bca991d704f6dcbf/jdk-8u151-linux-x64.tar.gz?AuthParam=1514528589_ce87a553f807b80cb2ef418629984734
(注:上述URL中AuthParam每次均会改变,如果不能下载请自行去官网获取最新链接)
ls -al
将文件重命名:
mv jdk-8u151-linux-x64.tar.gz? AuthParam=1514528589_ce87a553f807b80cb2ef418629984734 jdk-8u151-linux-x64.tar.gz
解压:
tar -zxvf jdk-8u151-linux-x64.tar.gz
将其移动到 /usr目录下,方便管理
mv jdk1.8.0_151 /usr/jdk1.8.0_151
安装vim:
apt-get install vim
编辑 .bashrc :
vim ~/.bashrc
在尾部添加如下:
JAVA_HOME=/usr/jdk1.8.0_151
JRE_HOME=$JAVA_HOME/jre
JAVA_BIN=$JAVA_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME PATH CLASSPATH
为了使配置生效,执行
source ~/.bashrc
验证JDK是否安装成功:
java -version
5.安装Maven(OpenDaylight 使用Maven进行包管理,并且要求Maven3.1.1版本以上):
wget http://ftp.wayne.edu/apache/maven/maven-3/3.5.2/binaries/apache-maven-3.5.2-bin.tar.gz
tar zxvf apache-maven-3.5.2-bin.tar.gz
mv apache-maven-3.5.2 /usr/apache-maven-3.5.2
vim ~/.bashrc
在末尾追加:
export MAVEN_HOME=/usr/apache-maven-3.5.2
export PATH=${PATH}:${MAVEN_HOME}/bin
保存后,执行
source ~/.bashrc
即可。
查看是否安装成功:
mvn -version
克隆项目:
git clone https://github.com/sdnhub/SDNHub_Opendaylight_Tutorial.git
切换到项目目录:
cd SDNHub_Opendaylight_Tutorial
开始编译:
mvn install -nsu
报错:
解决方案:
wget -q -O - https://raw.githubusercontent.com/opendaylight/odlparent/master/settings.xml > ~/.m2/settings.xml
重新编译:
mvn install -nsu
安装成功:
6.将制作好的容器打包成Docker镜像,并提交到Docker Hub
查看所有容器:
sudo docker ps -a
sudo docker commit d20d057bdfda sdn_opendaylight:1.0
(注: commit后跟的是容器id)
查看镜像:
sudo docker images
镜像提交到Docker Hub,需提前申请DockerHub账号:‘
給存在于本地的镜像打标签,要带上dockerhub 用户名(如果最后不带冒号加版本,就默认为 :lastest版本)
sudo docker tag sdn_opendaylight:1.0 brucetg/sdn_opendaylight
登陆DockerHub
sudo docker login
输入正确的用户名和密码即可。
提交到 DockerHub:
sudo docker push brucetg/sdn_opendaylight
启动:(在SDNHub_Opendaylight_Tutorial目录中执行以下命令)
cd distribution/opendaylight-karaf/target/assembly
./bin/karaf