1.创建 macvlan 网络 在 host1 和 host2 中创建 macvlan 网络 mac_net1: docker network create -d macvlan --subnet=172.16.86.0/24 --gateway=172.16.86.1 -o parent=ens192 mac_net1 注意:在 host2 中也要执行相同的命令. 1) -d macvlan 指定 driver 为 macvlan. 2) macvlan 网络是 local 网络,为了保证跨主…
参考https://www.cnblogs.com/CloudMan6/p/7364332.html     创建macvlan网络,需要指定使用哪块物理网卡进行通信   -o parent=ens192   创建macvlan网络,需要指定网络环境已经存在的网关,因为macvlan并不提供网关功能   --gateway 172.16.86.1   因为网关是我们网络环境中存在的,所以我们也需要指定一个与网关匹配的网络地址   --subnet 172.16.86.0/24   在下面的实验中…
上一节我们准备好了 macvlan 的实验环境,今天在 host1 和 host2 中创建 macvlan 网络 mac_net1: 注意:在 host2 中也要执行相同的命令. ① -d macvlan 指定 driver 为 macvlan. ② macvlan 网络是 local 网络,为了保证跨主机能够通信,用户需要自己管理 IP subnet. ③ 与其他网络不同,docker 不会为 macvlan 创建网关,这里的网关应该是真实存在的,否则容器无法路由. ④ -o parent 指…
本文关键词:shell 判断.grep正则表达式使用和贪婪匹配理解 1. if [ $a -le $b ], 一开始自学的时候我以为 [ ... ] 就是普通的,语法规定的结构,结果其实人家是"test"的变体,它的效果等同于使用 " test ... ",结果是将指令 ... 执行完了以后输出出来的东西作为返回值.注意,他并不是能执行所有的命令,作为“判断符号”,他要求里面的指令运行结果是 TRUE 或者 FALSE. 2. 如果xxx,就输出xxx,除了使用 i…
Linq主要分为 Linq to object .Linq to XML .Linq to sql(现在都用EF了). 针对object和sql,微软分别设计了两套接口IEnumerable.IQueryable(其中IQueryable继承与IEnumerable), 针对LINQ to OBJECTS时,使用Enumerable中的扩展方法对本地集合进行排序和查询等操作,查询参数接受的是Func<>.Func<>叫做谓语表达式,相当于一个委托.针对LINQ to SQL时,则使…
var:语法糖,在编译时推断出类型,根据反编译可以看出.实际用处是增加代码的健壮性,比如 linq ,匿名对象等. object:很多人容易和var混淆,其实概念上完全不同,没什么可比性. dynamic:作为静态语言的C#,实现了动态语法,在运行时才验证类型,反编译看到的实际上是object类型,但是与object区别的是,在编写和编译的时候都不会去检查类型,而且dynamic类型的实例和其他类型的实例间的转换很简单.也减少了调用时的显式转换,同时也能简化反射: //之前的反射 public…
上一节我们创建了 macvlan 并部署了容器,本节详细分析 macvlan 底层网络结构. macvlan 网络结构分析 macvlan 不依赖 Linux bridge,brctl show 可以确认没有创建新的 bridge. 查看一下容器 bbox1 的网络设备: 除了 lo,容器只有一个 eth0,请注意 eth0 后面的 @if4,这表明该 interface 有一个对应的 interface,其全局的编号为 4.根据 macvlan 的原理,我们有理由猜测这个 interface…
macvlan 网络结构分析 macvlan 不依赖 Linux bridge,brctl show 可以确认没有创建新的 bridge. 查看一下容器 bbox1 的网络设备: 除了 lo,容器只有一个 eth0,请注意 eth0 后面的 @if2,这表明该 interface 有一个对应的 interface,其全局的编号为 2. 根据 macvlan 的原理,我们有理由猜测这个 interface 就是主机的 ens192,确认如下: 由此可见,容器的 eth0 就是 ens192 通过…
参考https://www.cnblogs.com/CloudMan6/p/7280787.html   在host01中创建overlay网络 ov_net1   在下面的例子中可以看到,我们在host01上创建的overlay类型网络,会自动出现在host02上,该网络的name.id.IPAM都一样   这是因为host01将ov_net1的信息存到了consul中,host02从consul读取到了新创建的网络,自动同步到host02上   IPAM(IP Address Managem…
参考https://www.cnblogs.com/CloudMan6/p/7383919.html   macvlan不依赖linux bridge   brctl show 可以确认没有创建新的bridge   查看容器中只有一块网卡 eth0@if3 ,对应host上的 3号接口   容器的interface 直接与host的网卡连接,这种方法使得容器无需通过NAT和端口映射就能与外网直接通信(只要网络中有网关),在网络上与其他独立的主机没有区别   root@host1:~# brctl…