除了 overlay,docker 还开发了另一个支持跨主机容器网络的 driver:macvlan。

macvlan 本身是 linxu kernel 模块,其功能是允许在同一个物理网卡上配置多个 MAC 地址,即多个 interface,每个 interface 可以配置自己的 IP。macvlan 本质上是一种网卡虚拟化技术,Docker 用 macvlan 实现容器网络就不奇怪了。

macvlan 的最大优点是性能极好,相比其他实现,macvlan 不需要创建 Linux bridge,而是直接通过以太 interface 连接到物理网络。下面我们就来创建一个 macvlan 网络。

准备实验环境

我们会使用 host1 和 host2 上单独的网卡 enp0s9 创建 macvlan。为保证多个 MAC 地址的网络包都可以从 enp0s9 通过,我们需要打开网卡的混杂模式。

ip link set enp0s9 promisc on

确保 enp0s9 状态 UP 并且 promisc 模式已经生效。

因为 host1 和 host2 是 VirtualBox 虚拟机,还需要在网卡配置选项页中设置混杂模式。

当前实验环境如图所示:

准备就绪,下一节我们创建 macvlan 网络。

最新文章

  1. jquery简单插件写法
  2. arm,iptables: No chain/target/match by that name.
  3. 使用C#给Linux写Shell脚本(下篇)
  4. Java 对象初始化
  5. libev学习(一)
  6. Python从线程获取函数返回值
  7. 数据库里any 和 all 的区别
  8. JQuery:通过noConflict()方法同时使用jQuery 和其他框架
  9. Maven学习小结(三 基本概念)
  10. JavaScript的组成—ECMAScript、BOM和DOM
  11. python判断类型:想知道一个对象(实例或者变量)是什么类型,什么结构的
  12. java8 Stream操作
  13. 通过apt-get安装JDK8
  14. 将win7 设置为 NTP服务器
  15. java接口签名(Signature)实现方案续
  16. svn版本备份和恢复注意事项
  17. ES6的小知识(后半部分)
  18. linux 安装mysql相关和openjdk
  19. 洛谷 P3962 [TJOI2013]数字根 解题报告
  20. Django----djagorestframwork使用

热门文章

  1. JS初步学习
  2. 使用JDK自带的MessageDigest计算消息摘要
  3. tomcat+jdk+mysql
  4. CSS学习(页外引用还不懂)
  5. php七牛批量删除空间内的所有文件方法
  6. python基础(2):python的变量和常量
  7. CSS命名实践
  8. CJOJ 1071 【Uva】硬币问题(动态规划)
  9. Easyui+MVC+FullCalendar插件实现日程记录功能
  10. co 模块