Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何设置Docker LXC容器的MAC地址?_Docker_Lxc - Fatal编程技术网

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

如何设置Docker LXC容器的MAC地址?,docker,lxc,Docker,Lxc,每当我运行docker容器时,我都会看到它使用随机MAC地址: eth0 Link encap:Ethernet HWaddr de:6f:de:74:bd:d9 如何为容器运行设置特定的MAC地址 我是否能够使用相同的MAC地址同时运行多个容器?这些容器不需要访问外部网络,也不需要相互通信。MAC地址是使用LXC配置选项设置的。 下面是如何使用Docker 0.6.1设置MAC地址的示例: docker run --lxc-conf="lxc.network.hwaddr=92:

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

eth0      Link encap:Ethernet  HWaddr de:6f:de:74:bd:d9
如何为容器运行设置特定的MAC地址


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

MAC地址是使用LXC配置选项设置的。 下面是如何使用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驱动程序:
-eLXC

上述答案对我很有用,对我帮助很大,但我需要更多的细节才能让它正常工作。 当你有一个许可mac地址的应用程序时,这是非常有用的。 因为这是我能找到的关于这个话题的唯一帖子,所以我想我会扩展一下

对我来说,它需要更多的工作-否则开关将被默默地丢弃。 对于ubuntu 12.04:

  • 编辑/etc/default/docker:docker_OPTS=“--dns 8.8.8.8-e lxc”
  • apt get install lxc(lxc docker不够)
  • docker run--lxc conf=“lxc.network.hwaddr=92:20:de:b0:6b:61”-t myimage

  • 较新版本的
    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的访问控制设置吗?您试图实现的实际业务目标是什么?是的,我的服务允许用户从web浏览器运行工具。为了安全起见,我使用Docker容器运行这些工具。其中一个工具需要绑定到特定的MAC地址,因此我需要以某种方式限制MAC地址的随机化。如何使用-e变量设置MAC地址请,谢谢MAC选项应该是:--MAC地址=“12:34:de:b0:6b:61”?您是否有关于报价的问题?这是正确的答案,应该被接受。接受的答案在docker 17.03上不起作用。$docker run-it--rm--mac address“=92:20:de:b0:6b:61”ubuntu:16.04 bashroot@cb8c4f4260df:/#cat/sys/class/net/eth0/address 92:20:de:b0:6b:61