+-
是否可以为`docker build`设置MAC地址?
使用docker运行时,可以使用–mac-address选项修复MAC地址.我看了,我找不到用docker build修复MAC地址的方法.我想将具有许可证固定到MAC地址的软件停靠(我不是试图绕过许可证;我正在尝试拥有更可重现的系统架构).

谢谢!

最佳答案
我们考虑下面的Dockerfile

FROM alpine
RUN ifconfig | grep -i hwaddr

如果你使用它来构建它

docker build .

你得到

Sending build context to Docker daemon  2.048kB
Step 1/2 : FROM alpine
 ---> 7328f6f8b418
Step 2/2 : RUN ifconfig | grep -i hwaddr
 ---> Running in c092838dbe31
eth0      Link encap:Ethernet  HWaddr 02:42:AC:11:00:02
Removing intermediate container c092838dbe31
 ---> 7038787f51b8

现在我们无法控制docker build的Mac地址,但我们可以控制build的网络,我们可以控制容器的mac地址.那么让我们用我们的mac地址启动一个容器

$docker run --name mac1234deb06b61 --mac-address="12:34:de:b0:6b:61" -d alpine tail -f /dev/null
c3579e4685933b757f51c5f9e36d620dbe3a62abd0e0d6a421b5f1c04045061c

$docker build --network container:mac1234deb06b61 --no-cache .
Sending build context to Docker daemon  2.048kB
Step 1/2 : FROM alpine
 ---> 7328f6f8b418
Step 2/2 : RUN ifconfig | grep -i hwaddr
 ---> Running in 4390f13cbe8f
eth0      Link encap:Ethernet  HWaddr 12:34:DE:B0:6B:61
Removing intermediate container 4390f13cbe8f
 ---> b0b5f7321921
Successfully built b0b5f7321921

如您所见,现在docker build需要更新的mac地址

点击查看更多相关文章

转载注明原文:是否可以为`docker build`设置MAC地址? - 乐贴网