openstack中的虚拟路由器项目占用资源太多,需要将虚拟路由器迁移到Docker中,觉得首先要解决几个问题。

1.如何集成docker到openstack中,这个问题openstack官方给了三种方案,基于nova,heat,和单独的容器项目

2.集成docker后的容器管理编排,决定采用K8S

3.是否可以将quagga装到docker中,打包成quagga镜像以供后边二次开发自动配置程序。

今天尝试在docker中安装quagga,并自动开启zebra,ripd,ospfd,bgpdz进程。docker安装及使用,网上很多资料,请自行查阅。

镜像构建根据Dockerfile文件自动构建,然后基于建好的镜像运行容器。

Dockerfile

FROM lijianfeng/ubuntu:v1.0

MAINTAINER lijianfeng

RUN apt-get install -y quagga

RUN apt-get install -y telnet

ADD zebra.conf /etc/quagga/zebra.conf

ADD ospfd.conf /etc/quagga/ospfd.conf

ADD ripd.conf /etc/quagga/ripd.conf

ADD bgpd.conf /etc/quagga/bgpd.conf

ADD init_conf.sh /etc/quagga/init_conf.sh

CMD sh /etc/quagga/init_conf.sh ; /bin/bash

注释:lijianfeng/ubuntu:v1.0基础镜像是自己制作的,只是在官方Ubuntu:14.04中安装了常用的软件包。

Dockerfile同级目录下创建zebra.conf ospfd.conf ripd.conf bgpd.conf,内容为

hostname router

password zebra

enable password zebra  //只有zebra.conf 有,别的没有

log stdout

Dockerfile同级目录下创建init_conf.sh,内容为

#!/bin/bash

sed -ri "s/hostname .+/hostname $HOSTNAME/" /etc/quagga/zebra.conf

sed -ri "s/hostname .+/hostname $HOSTNAME/" /etc/quagga/ripd.conf

sed -ri "s/hostname .+/hostname $HOSTNAME/" /etc/quagga/ospfd.conf

sed -ri "s/hostname .+/hostname $HOSTNAME/" /etc/quagga/bgpd.conf

chown -R quagga.quagga /etc/quagga

/usr/lib/quagga/zebra -d

/usr/lib/quagga/ripd -d

/usr/lib/quagga/ospfd -d

/usr/lib/quagga/bgpd -d

镜像制作:

docker build -t lijianfeng/quagga .

因为在同级目录下构建镜像,所以最后是. ,否则需要绝对路径

构建完毕,通过docker images查看,会出现lijianfeng/quagga 镜像

容器运行,这里采用伪终端交互方式

docker run -it --name router --hostname router --privileged=true lijianfeng/quagga

命令执行后会进入docker操作空间,这是可通过telnet localhost 进入相应守护进程。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

docker实现quagga_docker中安装quagga详细介绍相关推荐

  1. docker实现quagga_docker中安装quagga

    openstack中的虚拟路由器项目占用资源太多,需要将虚拟路由器迁移到docker中,觉得首先要解决几个问题. 1.如何集成docker到openstack中,这个问题openstack官方给了三种 ...

  2. Android manifest文件中的标签详细介绍

    Android manifest文件中的标签详细介绍 概要 每一个Android应用都应该包含一个manifest文件,即AndroidManifest.xml.它包含了程序运行的一些必备信息,比如: ...

  3. python中soup_python中BeautifulSoup的详细介绍(附代码)

    本篇文章给大家带来的内容是关于python中BeautifulSoup的详细介绍(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. Beautiful Soup提供一些简单的. ...

  4. pythonexcel介绍_Python 中pandas.read_excel详细介绍

    Python 中pandas.read_excel详细介绍 #coding:utf-8 import pandas as pd import numpy as np filefullpath = r& ...

  5. 2020-12-09 深度学习 卷积神经网络中感受野的详细介绍

    卷积神经网络中感受野的详细介绍 1. 感受野的概念 在卷积神经网络中,感受野(Receptive Field)的定义是卷积神经网络每一层输出的特征图(feature map)上的像素点在输入图片上映射 ...

  6. 如何更换安装鸿蒙系统,华为鸿蒙系统2.0如何进行安装?鸿蒙系统2.0安装方法详细介绍...

    华为鸿蒙系统2.0如何进行安装?现在已经可以安装鸿蒙系统2.0,但是你不清楚安装,下面就让浏览器小编为大家带来,鸿蒙系统2.0安装方法详细介绍. 部分更新了华为鸿蒙OS用户表示,安卓和鸿蒙的应用软件都 ...

  7. 鸿蒙系统可以安装的浏览器,华为鸿蒙系统2.0如何进行安装?鸿蒙系统2.0安装方法详细介绍...

    华为鸿蒙系统2.0如何进行安装?现在已经可以安装鸿蒙系统2.0,但是你不清楚安装,下面就让浏览器小编为大家带来,鸿蒙系统2.0安装方法详细介绍. 部分更新了华为鸿蒙OS用户表示,安卓和鸿蒙的应用软件都 ...

  8. 位在c语言中用什么定义,C语言中位段的详细介绍

    C语言中位段的详细介绍 位段(bit-field)是以位为单位来定义结构体(或联合体)中的成员变量所占的空间.含有位段的结构体(联合体)称为位段结构.采用位段结构既能够节省空间,又方便于操作.以下是百 ...

  9. php ucenter home登录,UCenter Home 2.0 安装方法详细介绍

    本教程为大家介绍 UCenter Home 2.0 的安装方法(以虚拟主机为例).在安装 UCenter Home 2.0 之前,请确认在服务器上已经安装过 UCenter ,UCenter 的安装方 ...

最新文章

  1. 美方首次起诉4名俄黑客 其中两人系俄安全局官员
  2. 【NLP实战】Task1 数据集探索
  3. python中类方法、类实例方法、静态方法的使用与区别
  4. 吐血整理!必须收藏,44条代码优化细节
  5. Hystrix dashbord 服务降级熔断限流监控介绍
  6. WPF中使用ItemsControl嵌套绑定,在ItemsControl中嵌套一个ItemsControl,然后使用绑定(2)...
  7. Winform解决界面重绘闪烁的问题
  8. 2016手机数据恢复软件哪个好?
  9. 图像切割之(五)活动轮廓模型之Snake模型简单介绍
  10. SSD讲堂三(视频)_SSD_tensorflow_imageio方法_视频检测_附源码
  11. Pwnable.kr collision [Writeup]
  12. luogu P4238 【模板】多项式乘法逆
  13. Label Matching Semi-Supervised Object Detection
  14. 为什么转置512x512矩阵,会比513x513矩阵慢很多?
  15. PHP微信扫码关注登录实例
  16. 解释#define的用法
  17. 华为智慧屏v98摄像头像素是多少
  18. Hibernate_基于Annotation的使用_OneToOne_Demo(不维护关系那方(mappedBy=person))
  19. android中api简介
  20. 门店销售管理系统助力传统门店信息化升级

热门文章

  1. 新手建站必看的十大忠告 1
  2. 搜狗高速浏览器2014 v5.0.0515 官方最新版
  3. 校园二手物品交易平台实现购买商品的功能
  4. ASEMI快恢复二极管MUR560D怎么代换,MUR560D替代原则
  5. java模拟而一个电话本操作
  6. 校园网的实现 java_北科校园网开机自动登录的JAVA实现(已修正)
  7. 图形图像相关格式简介
  8. stram是不是用php语言,简中成steam第一大语言,玩家却大喊:千万别进来
  9. Canvas 图片平铺设置
  10. db2advis DB2索引优化建议