docker实现quagga_docker中安装quagga详细介绍
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详细介绍相关推荐
- docker实现quagga_docker中安装quagga
openstack中的虚拟路由器项目占用资源太多,需要将虚拟路由器迁移到docker中,觉得首先要解决几个问题. 1.如何集成docker到openstack中,这个问题openstack官方给了三种 ...
- Android manifest文件中的标签详细介绍
Android manifest文件中的标签详细介绍 概要 每一个Android应用都应该包含一个manifest文件,即AndroidManifest.xml.它包含了程序运行的一些必备信息,比如: ...
- python中soup_python中BeautifulSoup的详细介绍(附代码)
本篇文章给大家带来的内容是关于python中BeautifulSoup的详细介绍(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. Beautiful Soup提供一些简单的. ...
- pythonexcel介绍_Python 中pandas.read_excel详细介绍
Python 中pandas.read_excel详细介绍 #coding:utf-8 import pandas as pd import numpy as np filefullpath = r& ...
- 2020-12-09 深度学习 卷积神经网络中感受野的详细介绍
卷积神经网络中感受野的详细介绍 1. 感受野的概念 在卷积神经网络中,感受野(Receptive Field)的定义是卷积神经网络每一层输出的特征图(feature map)上的像素点在输入图片上映射 ...
- 如何更换安装鸿蒙系统,华为鸿蒙系统2.0如何进行安装?鸿蒙系统2.0安装方法详细介绍...
华为鸿蒙系统2.0如何进行安装?现在已经可以安装鸿蒙系统2.0,但是你不清楚安装,下面就让浏览器小编为大家带来,鸿蒙系统2.0安装方法详细介绍. 部分更新了华为鸿蒙OS用户表示,安卓和鸿蒙的应用软件都 ...
- 鸿蒙系统可以安装的浏览器,华为鸿蒙系统2.0如何进行安装?鸿蒙系统2.0安装方法详细介绍...
华为鸿蒙系统2.0如何进行安装?现在已经可以安装鸿蒙系统2.0,但是你不清楚安装,下面就让浏览器小编为大家带来,鸿蒙系统2.0安装方法详细介绍. 部分更新了华为鸿蒙OS用户表示,安卓和鸿蒙的应用软件都 ...
- 位在c语言中用什么定义,C语言中位段的详细介绍
C语言中位段的详细介绍 位段(bit-field)是以位为单位来定义结构体(或联合体)中的成员变量所占的空间.含有位段的结构体(联合体)称为位段结构.采用位段结构既能够节省空间,又方便于操作.以下是百 ...
- php ucenter home登录,UCenter Home 2.0 安装方法详细介绍
本教程为大家介绍 UCenter Home 2.0 的安装方法(以虚拟主机为例).在安装 UCenter Home 2.0 之前,请确认在服务器上已经安装过 UCenter ,UCenter 的安装方 ...
最新文章
- 美方首次起诉4名俄黑客 其中两人系俄安全局官员
- 【NLP实战】Task1 数据集探索
- python中类方法、类实例方法、静态方法的使用与区别
- 吐血整理!必须收藏,44条代码优化细节
- Hystrix dashbord 服务降级熔断限流监控介绍
- WPF中使用ItemsControl嵌套绑定,在ItemsControl中嵌套一个ItemsControl,然后使用绑定(2)...
- Winform解决界面重绘闪烁的问题
- 2016手机数据恢复软件哪个好?
- 图像切割之(五)活动轮廓模型之Snake模型简单介绍
- SSD讲堂三(视频)_SSD_tensorflow_imageio方法_视频检测_附源码
- Pwnable.kr collision [Writeup]
- luogu P4238 【模板】多项式乘法逆
- Label Matching Semi-Supervised Object Detection
- 为什么转置512x512矩阵,会比513x513矩阵慢很多?
- PHP微信扫码关注登录实例
- 解释#define的用法
- 华为智慧屏v98摄像头像素是多少
- Hibernate_基于Annotation的使用_OneToOne_Demo(不维护关系那方(mappedBy=person))
- android中api简介
- 门店销售管理系统助力传统门店信息化升级