一尘不染

Docker如何为容器分配MAC地址?

docker

当我启动新容器时,Docker会自动为它们分配一些MAC地址。我很好奇这项作业是否有模式。MAC地址可以更改吗?

$泊坞窗网络检查网桥

"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": ""
            }

阅读 5783

收藏
2020-06-17

共1个答案

一尘不染

Docker开始02:42:ac:11:00:02为第一个容器分配始终相同的mac ,然后为每个不同的容器将每个mac增加一个。

不知道为什么他们要使用该mac地址。看来02:42:ac与oui数据库中的任何实际供应商都不匹配。查看有关此内容的官方文档。他们说:

MAC地址是使用分配给容器的IP地址来生成的,以避免ARP冲突,其使用范围是02:42:ac:11:00:00到02:42:ac:11:ff:ff

无论如何,您可以使用--mac-addressdocker run命令上的参数在容器生成上设置任何mac地址。例如执行这样的命令docker run -ti --mac-address 00:00:00:00:00:11 ubuntu:trusty

希望能帮助到你。

2020-06-17