如何设置Docker LXC容器的MAC地址?

时间:2013-08-28 04:03:22

标签: docker lxc

每当我运行一个docker容器时,我都会看到它使用随机MAC地址:

eth0      Link encap:Ethernet  HWaddr de:6f:de:74:bd:d9

如何为容器运行设置特定的MAC地址?

我是否可以使用相同的MAC地址同时运行多个容器?这些容器不需要访问外部网络,也不需要相互通信。

3 个答案:

答案 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  

请参阅https://docs.docker.com/reference/run/

答案 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:

  1. 编辑/ etc / default / docker:DOCKER_OPTS =&#34; - dns 8.8.8.8 -e lxc&#34;
  2. apt-get install lxc(lxc-docker是不够的)
  3. docker run --lxc-conf =&#34; lxc.network.hwaddr = 92:20:de:b0:6b:61&#34; -t myimage