当我启动新的容器时,Docker会自动为它们分配一些MAC地址。我很好奇这项任务是否有某种模式。是否可以更改MAC地址?
$ docker网络检查网桥
"Containers": {
"3386a527aa08b37ea9232cbcace2d2458d49f44bb05a6b775fba7ddd40d8f92c": {
"EndpointID": "647c12443e91faf0fd508b6edfe59c30b642abb60dfab890b4bdccee38750bc1",
"MacAddress": "02:42:ac:11:00:02",
"IPv4Address": "172.17.0.2/16",
"IPv6Address": ""
},
"94447ca479852d29aeddca75c28f7104df3c3196d7b6d83061879e339946805c": {
"EndpointID": "b047d090f446ac49747d3c37d63e4307be745876db7f0ceef7b311cbba615f48",
"MacAddress": "02:42:ac:11:00:03",
"IPv4Address": "172.17.0.3/16",
"IPv6Address": ""
}
发布于 2017-03-22 17:10:59
Docker开始总是为第一个容器分配相同的mac 02:42:ac:11:00:02
,然后为每个不同的容器增加一个mac。
不确定他们为什么要使用那个mac地址。在oui数据库中,02:42:ac
似乎与任何真正的供应商都不匹配。看看关于这个的official documentation吧。他们说:
MAC地址是使用分配给容器的IP地址生成的,以避免
冲突,范围从02:42:ac:11:00:00到02:42:ac:11:ff:ff
无论如何,您可以使用docker run命令上的--mac-address
参数在容器生成时设置任何mac地址。例如,执行类似以下docker run -ti --mac-address 00:00:00:00:00:11 ubuntu:trusty
的命令
希望能有所帮助。
发布于 2021-03-21 01:57:01
如果您查看容器接口的MAC地址,您可以看到最后4个二进制八位数是IPv4地址的十六进制表示。此部分以02:42:
为前缀,例如:-
docker生成的具有IPv4地址172.19.0.6
的容器接口的MAC地址将是02:42:ac:13:00:06
https://stackoverflow.com/questions/42946453
复制相似问题