每当我运行一个 docker 容器时,我看到它使用一个随机的 MAC 地址:
eth0 Link encap:Ethernet HWaddr de:6f:de:74:bd:d9
如何为容器运行设置特定的 MAC 地址?
我可以让多个容器同时使用相同的 MAC 地址运行吗?这些容器不需要访问外部网络,也不需要相互通信。
较新版本的docker
切换--mac-address=12:34:56:78:9a:bc
到docker run
.
root@kevin-VirtualBox:~# sudo docker run --rm --mac-address"=12:34:de:b0:6b:61" ubuntu ifconfig | grep HWaddr
eth0 Link encap:Ethernet HWaddr 12:34:de:b0:6b:61
MAC 地址是使用 LXC 配置选项设置的lxc.network.hwaddr
。以下是如何使用 Docker 0.6.1 设置 MAC 地址的示例:
docker run --lxc-conf="lxc.network.hwaddr=92:20:de:b0:6b:61" my_image ifconfig
在输出中,您将看到已设置的 HWaddr:
eth0 Link encap:Ethernet HWaddr 92:20:de:b0:6b:61
更新:
以前的开关-lxc-conf
(带有 1 个破折号)已被弃用。
要使用上述开关,您的 docker 必须使用 LXC 驱动程序:-e lxc
上面的答案对我有用,对我帮助很大,但我需要更多细节才能让它发挥作用。当您有一个许可 MAC 地址的应用程序时,这非常有用。由于这是我能找到的关于这个主题的唯一帖子,我想我会扩展它。
对我来说,它需要更多的工作 - 否则开关将被默默地丢弃。对于 ubuntu 12.04: