Docker容器打包成镜像 - OpenDaylight官方 SDN Hub Tutorial VM 的docker镜像
2017-06-15 16:24
609 查看
由于工作需要,在看OpenDaylight (一个SDN的开源控制器)
官方Tutorial有一个比较基础且介绍比较详细的文档(http://sdnhub.org/tutorials/opendaylight/ -这个文档作为入门OpenDaylight 很不错,真心推荐)
Turorail文档为对应的项目提供了VM镜像,刚好最近也在看Docker,遂决定制作一个docker镜像,方便、快捷~
OK,开始准备环境
镜像基于centos
> docker run -it --name SDNHub_Opendaylight_Tutorial centos
更新
> yum update
安装基本依赖(YUM安装)
1、git - Tutorial项目代码使用GIT托管 https://github.com/sdnhub/SDNHub_Opendaylight_Tutorial
2、lrzsz - 方便文件传输
3、wget - 需要下载文件
> yum install git lrzsz wget -y
环境准备(从安装包安装)
1、JDK - OpenDaylight 使用Java语言开发,这里使用OracleJDK 并且使用Oracle官方推荐版本 JDK 1.8
2、Maven - OpenDaylight 使用Maven进行包管理,并且要求Maven3.1.1版本以上(目前yum直接安装的maven是3.0.5),这里需要从官网下载安装
官网下载好JDK的RPM包和Maven的tar包
1、JDK - http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 目前最新版 8u131
2、Maven - http://maven.apache.org/download.cgi 目前最新版 3.5.0
使用rz命令将下载好的安装包上床到容器内
安装rpm包(安装后需要配置JAVA_HOME-Maven需要JAVA_HOME环境变量)
> yum localinstall jdk-8u131-linux-x64.rpm -y
配置环境变量
> vi ~/.bash_profile
追加内容
安装Maven(解压后配置环境变量即可)
> tar zxvf apache-maven-3.5.0-bin.tar.gz
> vi ~/.bash_profile
追加内容
使环境变量生效
> source ~/.bash_profile
验证Maven和java是否安装成功
OK,接着克隆和编译 SDNHub_Opendaylight_Tutorial 项目
克隆项目
> cd ~
> git clone https://github.com/sdnhub/SDNHub_Opendaylight_Tutorial.git
切换到项目目录
> cd SDNHub_Opendaylight_Tutorial
开始编译
> mvn install -nsu
Loooooong Waiting……
艾玛!编译报错
解决方案:
在爆栈网找到 https://stackoverflow.com/questions/36561406/maven-dependency-error-when-i-start-to-install-mvn-nsu/37322101#37322101
经过验证,可以解决该问题
> wget -q -O - https://raw.githubusercontent.com/opendaylight/odlparent/master/settings.xml > ~/.m2/settings.xml
好,重新编译
> mvn install -nsu
完成~
OK,最后将制作好的容器打包成docker镜像,并提交到Docker Hub ~
容器打包成镜像
> docker commit cd1aef1d6c30 sdnhub_opendaylight_tutorial:1.0
查看镜像
镜像提交到docker hub
先申请DockerHub账号 - https://hub.docker.com/
給存在于本地的镜像打标签,要带上dockerhub 用户名(如果最后不带冒号加版本,就默认为 :lastest版本)
>docker tag sdnhub_opendaylight_tutorial:1.0 guang384/sdnhub_opendaylight_tutorial
登录DockerHub
> docker login
提交到dockerhub
> docker push guang384/sdnhub_opendaylight_tutorial
Waiting……
Done
官方Tutorial有一个比较基础且介绍比较详细的文档(http://sdnhub.org/tutorials/opendaylight/ -这个文档作为入门OpenDaylight 很不错,真心推荐)
Turorail文档为对应的项目提供了VM镜像,刚好最近也在看Docker,遂决定制作一个docker镜像,方便、快捷~
OK,开始准备环境
镜像基于centos
> docker run -it --name SDNHub_Opendaylight_Tutorial centos
更新
> yum update
安装基本依赖(YUM安装)
1、git - Tutorial项目代码使用GIT托管 https://github.com/sdnhub/SDNHub_Opendaylight_Tutorial
2、lrzsz - 方便文件传输
3、wget - 需要下载文件
> yum install git lrzsz wget -y
环境准备(从安装包安装)
1、JDK - OpenDaylight 使用Java语言开发,这里使用OracleJDK 并且使用Oracle官方推荐版本 JDK 1.8
2、Maven - OpenDaylight 使用Maven进行包管理,并且要求Maven3.1.1版本以上(目前yum直接安装的maven是3.0.5),这里需要从官网下载安装
官网下载好JDK的RPM包和Maven的tar包
1、JDK - http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 目前最新版 8u131
2、Maven - http://maven.apache.org/download.cgi 目前最新版 3.5.0
使用rz命令将下载好的安装包上床到容器内
安装rpm包(安装后需要配置JAVA_HOME-Maven需要JAVA_HOME环境变量)
> yum localinstall jdk-8u131-linux-x64.rpm -y
配置环境变量
> vi ~/.bash_profile
追加内容
export JAVA_HOME=/usr/java/jdk1.8.0_131
安装Maven(解压后配置环境变量即可)
> tar zxvf apache-maven-3.5.0-bin.tar.gz
> vi ~/.bash_profile
追加内容
export MAVEN_HOME=/apache-maven-3.5.0 export PATH=${PATH}:${MAVEN_HOME}/bin
使环境变量生效
> source ~/.bash_profile
验证Maven和java是否安装成功
OK,接着克隆和编译 SDNHub_Opendaylight_Tutorial 项目
克隆项目
> cd ~
> git clone https://github.com/sdnhub/SDNHub_Opendaylight_Tutorial.git
切换到项目目录
> cd SDNHub_Opendaylight_Tutorial
开始编译
> mvn install -nsu
Loooooong Waiting……
艾玛!编译报错
[ERROR] Failed to execute goal org.opendaylight.yangtools:yang-maven-plugin:0.8.1-Beryllium-SR1:generate-sources (default) on project learning-switch-impl: Execution default of goal org.opendaylight.yangtools:yang-maven-plugin:0.8.1-Beryllium-SR1:generate-sources failed: Plugin org.opendaylight.yangtools:yang-maven-plugin:0.8.1-Beryllium-SR1 or one of its dependencies could not be resolved: Could not transfer artifact org.opendaylight.controller:yang-jmx-generator-plugin:jar:0.4.1-Beryllium-SR1 from/to opendaylight-release (http://nexus.opendaylight.org/content/repositories/opendaylight.release/): Connect to nexus.opendaylight.org:443 [nexus.opendaylight.org/72.3.167.142] failed: Connection timed out (Connection timed out)
解决方案:
在爆栈网找到 https://stackoverflow.com/questions/36561406/maven-dependency-error-when-i-start-to-install-mvn-nsu/37322101#37322101
经过验证,可以解决该问题
> wget -q -O - https://raw.githubusercontent.com/opendaylight/odlparent/master/settings.xml > ~/.m2/settings.xml
好,重新编译
> mvn install -nsu
完成~
OK,最后将制作好的容器打包成docker镜像,并提交到Docker Hub ~
容器打包成镜像
> docker commit cd1aef1d6c30 sdnhub_opendaylight_tutorial:1.0
查看镜像
镜像提交到docker hub
先申请DockerHub账号 - https://hub.docker.com/
給存在于本地的镜像打标签,要带上dockerhub 用户名(如果最后不带冒号加版本,就默认为 :lastest版本)
>docker tag sdnhub_opendaylight_tutorial:1.0 guang384/sdnhub_opendaylight_tutorial
登录DockerHub
> docker login
提交到dockerhub
> docker push guang384/sdnhub_opendaylight_tutorial
Waiting……
Done
相关文章推荐
- 【081】使用Nginx的官方Docker镜像,启动容器后无法显示自己网站页面,总显示Nginx官方默认页面的问题的解决方法
- 克服跨洋网络延迟,使用Docker Hub Mirror加速Docker官方镜像下载
- net core 程序docker打包镜像并发布到官方store
- docker 将正在运行的容器打包为镜像
- 由Docker的MySQL官方镜像配置的容器无法启动问题的解决办法
- 基于docker官方 tomcat镜像容器部署JAVA web项目
- Docker 容器基础系统镜像打包
- linux docker安装 制作Elasticsearch容器镜像 并上传docker hub
- 克服跨洋网络延迟,使用Docker Hub Mirror加速Docker官方镜像下载
- Docker的安装和镜像管理并利用Docker容器实现nginx的负载均衡、动静分离 Docker的安装 一、Docker的概念 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用
- Docker将容器打包成镜像
- 打包一个Docker镜像,让你的好友加载开启一个容器,并且每隔一秒输出hello,world到指定的文件中
- qduoj~前端~二次开发~打包docker镜像并上传到阿里云容器镜像仓库
- 克服跨洋网络延迟,使用Docker Hub Mirror加速Docker官方镜像下载
- 如何打包创建镜像和运行Docker容器及常用命令
- 使用阿里云容器Hub加速Docker镜像下载
- 克服跨洋网络延迟,使用Docker Hub Mirror加速Docker官方镜像下载
- 详解Docker 容器基础系统镜像打包
- Docker学习总结(4)——Docker镜像与容器命令
- docker官方父镜像制作