创建macvlan网络,需要指定使用哪块物理网卡进行通信
-o parent=ens192
创建macvlan网络,需要指定网络环境已经存在的网关,因为macvlan并不提供网关功能
--gateway 172.16.86.1
因为网关是我们网络环境中存在的,所以我们也需要指定一个与网关匹配的网络地址
--subnet 172.16.86.0/24
在下面的实验中可以看到:
1、macvlan不提供网关服务
2、macvlan不提供dns服务
3、macvlan属于本地网络类型,所以两台host上的macvlan网络是相互独立的
4、macvlan不提供自动分配IP地址的服务,创建容器时需要手动指定容器IP,还要与其他host上的macvlan避免IP冲突
root@host1:~# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
root@host1:~# docker network ls
NETWORK ID NAME DRIVER SCOPE
9e26e05efc49 bridge bridge local
bb03f7574aa2 host host local
11e39328a6d1 none null local
root@host1:~# docker network create -d macvlan --subnet 172.16.86.0/24 --gateway 172.16.86.1 -o parent=ens192 mac_net1
d60df792c93636940d01eaae0ede35491c0ff0592cfd374b06b5579baf6770d4
root@host1:~# docker network ls
NETWORK ID NAME DRIVER SCOPE
9e26e05efc49 bridge bridge local
bb03f7574aa2 host host local
d60df792c936 mac_net1 macvlan local
11e39328a6d1 none null local
root@host1:~# docker run -itd --name bbox1 --ip 172.16.86.11 --network mac_net1 busybox
b56e6cd9876e7d3fa477918281f6db1c04446733c99d32bbd08028be8acefd3b
root@host1:~# docker exec bbox1 ip r
default via 172.16.86.1 dev eth0
172.16.86.0/24 dev eth0 scope link src 172.16.86.11
root@host1:~# docker exec bbox1 ping -c 2 bbox2
ping: bad address 'bbox2'
root@host1:~# docker exec bbox1 ping -c 2 172.16.86.12
PING 172.16.86.12 (172.16.86.12): 56 data bytes
64 bytes from 172.16.86.12: seq=0 ttl=64 time=0.548 ms
64 bytes from 172.16.86.12: seq=1 ttl=64 time=0.267 ms
--- 172.16.86.12 ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 0.267/0.407/0.548 ms
root@host1:~# docker exec bbox1 ping -c 2 172.16.86.1
PING 172.16.86.1 (172.16.86.1): 56 data bytes
--- 172.16.86.1 ping statistics ---
2 packets transmitted, 0 packets received, 100% packet loss
root@host2:~# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
root@host2:~# docker network ls
NETWORK ID NAME DRIVER SCOPE
65563241b1ff bridge bridge local
cf4c89650a1f host host local
2f7d79e0114d none null local
root@host2:~# docker network create -d macvlan --subnet 172.16.86.0/24 --gateway 172.16.86.1 -o parent=ens192 mac_net1
39f1aab9f5b8aba4491b50d080bb263d5a184658b31828fc2e40a1d28563f321
root@host2:~# docker network ls
NETWORK ID NAME DRIVER SCOPE
65563241b1ff bridge bridge local
cf4c89650a1f host host local
39f1aab9f5b8 mac_net1 macvlan local
2f7d79e0114d none null local
root@host2:~# docker run -itd --name bbox3 --ip 172.16.86.12 --network mac_net1 busybox
43406891a16236b17028f0d4e1983accdd79c47cea63f91948fd4de6f17dba41
root@host2:~# docker rm -f bbox3
bbox3
root@host2:~# docker run -itd --name bbox2 --ip 172.16.86.12 --network mac_net1 busybox
55e101449753d0ed5e5da4315e99b16fc807d7110a19ea5117a958e7d62effed
root@host2:~# docker exec bbox2 ip r
default via 172.16.86.1 dev eth0
172.16.86.0/24 dev eth0 scope link src 172.16.86.12
- 第 8 章 容器网络 - 055 - 创建 macvlan 网络
1.创建 macvlan 网络 在 host1 和 host2 中创建 macvlan 网络 mac_net1: docker network create -d macvlan --subnet=1 ...
- 创建 macvlan 网络 - 每天5分钟玩转 Docker 容器技术(55)
上一节我们准备好了 macvlan 的实验环境,今天在 host1 和 host2 中创建 macvlan 网络 mac_net1: 注意:在 host2 中也要执行相同的命令. ① -d macvl ...
- [2019.03.22] Linux 学习心得(1)
本文关键词:shell 判断.grep正则表达式使用和贪婪匹配理解 1. if [ $a -le $b ], 一开始自学的时候我以为 [ ... ] 就是普通的,语法规定的结构,结果其实人家是&quo ...
- 2019.03.22 读书笔记 Linq中的IEnumerable与IQueryable
Linq主要分为 Linq to object .Linq to XML .Linq to sql(现在都用EF了). 针对object和sql,微软分别设计了两套接口IEnumerable.IQue ...
- 2019.03.22 读书笔记 var object dynamic
var:语法糖,在编译时推断出类型,根据反编译可以看出.实际用处是增加代码的健壮性,比如 linq ,匿名对象等. object:很多人容易和var混淆,其实概念上完全不同,没什么可比性. dynam ...
- macvlan 网络结构分析 - 每天5分钟玩转 Docker 容器技术(56)
上一节我们创建了 macvlan 并部署了容器,本节详细分析 macvlan 底层网络结构. macvlan 网络结构分析 macvlan 不依赖 Linux bridge,brctl show 可以 ...
- 第 8 章 容器网络 - 056 - macvlan 网络结构分析
macvlan 网络结构分析 macvlan 不依赖 Linux bridge,brctl show 可以确认没有创建新的 bridge. 查看一下容器 bbox1 的网络设备: 除了 lo,容器只有 ...
- 050、创建overlay网络(2019-03-15 周五)
参考https://www.cnblogs.com/CloudMan6/p/7280787.html 在host01中创建overlay网络 ov_net1 在下面的例子中可以看到,我们在ho ...
- 056、macvlan网络结构分析(2019-03-25 周一)
参考https://www.cnblogs.com/CloudMan6/p/7383919.html macvlan不依赖linux bridge brctl show 可以确认没有创建新的b ...
随机推荐
- Git初始化及配置
>>>>Git简介 >>>>官网下载Git >>>>安装,一路next 安装成功后,鼠标右键里就有Git bash here和G ...
- Apache 安装及常用参数设置
禁用 selinux setenforce 0 sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/confi ...
- [bzoj2288][pojChallenge]生日礼物【贪心+堆+链表】
题目描述 ftiasch 18岁生日的时候,lqp18_31给她看了一个神奇的序列 A1, A2, -, AN. 她被允许选择不超过 M 个连续的部分作为自己的生日礼物. 自然地,ftiasch想要知 ...
- neutron相关知识
Neutron 对虚拟三层网络的实现是通过其 L3 Agent (neutron-l3-agent).该 Agent 利用 Linux IP 栈.route 和 iptables 来实现内网内不同网络 ...
- NOIP2012疫情控制(二分答案+树上贪心)
H 国有n个城市,这 n个城市用n-1条双向道路相互连通构成一棵树,1号城市是首都,也是树中的根节点. H国的首都爆发了一种危害性极高的传染病.当局为了控制疫情,不让疫情扩散到边境城市(叶子节点所表示 ...
- CF1139E Maximize Mex(二分图匹配,匈牙利算法)
好题.不过之前做过的[SCOI2010]连续攻击游戏跟这题一个套路,我怎么没想到…… 题目链接:CF原网 洛谷 题目大意:在一个学校有 $n$ 个学生和 $m$ 个社团,每个学生有一个非负整数能力值 ...
- IO创建Socket通信中慎用BufferReader中的readLine()
在编写Socket的Demo的时候,在Server中使用BufferReader获取从客服端发送过来的内容 package cn.lonecloud.socket; import cn.loneclo ...
- javascript正则表达式---正向预查
什么是正向预查?这里有腾讯招聘的一个例子: 如何给一串数字用千分制表示?比如9999999999变成9,999,999,999.这样一个问题你会怎么答呢?博主js正则学的不咋样,然后用操作字符串的办法 ...
- 移动端利用-webkit-box水平垂直居中(旧弹性盒)
新弹性盒水平垂直居中参考:http://www.cnblogs.com/ooo0/p/7562884.html 新旧弹性盒样式参考:http://www.cnblogs.com/ooo0/p/7562 ...
- PHP选择排序算法
说明: 通过假设一个最小数的key,来逐个比较后面的值,如果假设的值大于后面的值,则互换位置. 示例: <?php $a = array(2,13,42,34,56,23,67,365,8766 ...