每当我运行一个docker容器时,我都会看到它使用随机MAC地址:
eth0 Link encap:Ethernet HWaddr de:6f:de:74:bd:d9
如何为容器运行设置特定的MAC地址?
我是否可以使用相同的MAC地址同时运行多个容器?这些容器不需要访问外部网络,也不需要相互通信。
答案 0 :(得分:14)
较新版本的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
答案 1 :(得分:11)
使用LXC配置选项lxc.network.hwaddr
设置MAC地址。
以下是如何使用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个破折号)已被弃用。
要使用上述开关,您的泊坞窗必须使用LXC驱动程序:-e lxc
答案 2 :(得分:2)
上述答案对我有用并且对我非常有帮助,但我需要更多细节才能让它发挥作用。 当您拥有一个mac-address许可证的应用程序时,这非常有用。 由于这是我在这个主题上唯一可以找到的帖子,我想我会扩展它。
对我来说,它需要更多工作 - 否则交换机将被静默丢弃。 对于ubuntu 12.04: