专栏首页跟我一起学Docker【番外篇】pipework和openvSwitch学习
原创

【番外篇】pipework和openvSwitch学习

Pipework允许您在任意复杂的场景中将容器连接在一起。Pipework使用cgroups和namespace,并使用“普通”LXC容器(用它创建lxc-start)和令人敬畏的Docker。

github.com代码路径:https://github.com/jpetazzo/pipework

1、下载代码:

https://github.com/jpetazzo/pipework.git

创建目录jpetazzo

librant@ubuntu:~/gowork/src/github.com$ mkdir jpetazzo

进入到jpetazzo中,下载pipework代码:

librant@ubuntu:~/gowork/src/github.com/jpetazzo$ git clone https://github.com/jpetazzo/pipework.git

2、使用介绍

https://www.aliyun.com/jiaocheng/1381773.html

pipework语法:

pipework <hostinterface> [-i containerinterface] [-l localinterfacename] [-a addressfamily] <guest> <ipaddr>/<subnet>

pipework --wait [-i containerinterface]: 这条命令用于等待指定接口真正创建完成。

-i containerinterface: 参数指定要等待的接口名称; 如果没有指定-i参数,则默认等待名为eth1的接口创建完成。

pipework tc <guest> <tc_command>:用于在指定容器内执行tc流量控制命令

这条命令用于在<guest>指定的容器名所在的网络命名空间中执行流量控制命令<tc_command>

脚本会查找<guest>容器的pid,并在/var/run/netns下建立相应网络命名空间的符号链接,然后通过ip netns exec在指定网络命名空间中执行tc命令。

pipework rule <guest> <rule_command>:用于在指定容器内执行ip rule命令。和上面tc的原理类似。

pipework route <guest> <route_command>:用于在指定容器内执行ip route命令,和上面一条命令原理类似

pipework [--direct-phys] <hostinterface> [-i containerinterface] [-l localinterfacename] [-a addressfamily] <guest> <ipaddr>/<subnet>[@default_gateway] [macaddr][@vlan]

pipework [--direct-phys] <hostinterface> [-i containerinterface] [-l localinterfacename] <guest> dhcp [macaddr][@vlan]

用于为指定的<guest>容器创建网卡,并桥接到<hostinterface>指定的宿主设备。

linux bridge不支持创建vlan,如果要创建vlan只能使用openvswitch或者物理网卡。

3、脚本学习

pipework使用shell脚本编写,整个文件大约460行代码,很适合学习网络相关的知识。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Docker源码解读

    开启Docker学习之路,需要脚踏实地,从源码开始;网上也有一些关于Docker源码的学习的资料,但是分析的源码都是比较老的版本,所以这里就班门弄斧一下,将自己...

    BH9AP_Librant
  • 第三章 Docker常用命令

    Docker的环境安装完成之后,那就开始我们的Docker之旅吧。如何学习Docker呢?这是一个值得思考的问题,刚开始接触Docker的时候,对D...

    BH9AP_Librant
  • 第四章 Docker框架

    容器有效的将单个操作系统管理的资源划分到孤立的组中,以便更好的在孤立的组之间平衡有冲突的资源使用需求。与虚拟化相比,这样既不需要指令级模拟,也不需要即时编译。容...

    BH9AP_Librant
  • 基于Python的开源量化交易平台及组件汇总

    vnpy [1] 基于python的开源交易平台开发框架。项目的用户包括:私募基金,证券自营、资管,期货公司,高校的金融研究院系,个人投资者等,机构用户加起来...

    Python中文社区
  • 玩转 Rockchip 的开发板,这些信息你要知道

    Rockchip 在江湖中简称 RK,是一家总部坐落于福建福州的 SOC 设计公司。

    HackforFun
  • CVPR2020 | 已收录文章 | 开源 3D数据处理论文推荐 | 未完待续

    1、论文名称:Deep SpatialGradient and Temporal Depth Learning for Face Anti-spoofing

    CNNer
  • 提权工具整理

    fz因为工(ban)作(zhuan)无暇更新文章,我是接下来比较长一段时间的公众号编辑,也欢迎各位粉丝投稿,直接后台联系。因为我最近在研究提权的一些内容,这里整...

    用户5878089
  • 机器学习人工学weekly-12/17/2017

    1. 第一当然是NIPS啦(注意看上一期NIPS在Facebook上的视频)。NIPS开完,各种资料分析就出来啦,对我们这种没有机会去现场的人来说是个福音。 t...

    windmaple
  • BAT程序员们常用的开发神器(附代码、教程)

    工欲善其事必先利其器,一个优秀的程序员除了代码写得好,善于利用各种开发工具同样可以事半功倍。以 BAT 为代表的各大厂程序员们在平时的工作中都用什么开发工具呢?...

    数据派THU
  • 【Rust日报】 2019-08-15:欢迎使用最新的 async/await

    这不是闹着玩儿的操作系统了,这可是面向商业的正式的操作系统(一个 Linux 发行版)。官网地址在这里

    MikeLoveRust

扫码关注云+社区

领取腾讯云代金券