Whenever I run a docker container, I see that it uses a random MAC address:
eth0 Link encap:Ethernet HWaddr de:6f:de:74:bd:d9
How do I set a specific MAC address for a container run?
Will I be able to have multiple containers running simultaneously with the same MAC address? These containers do not need to access the outside network and do not need to talk to each other.
The above answer worked for me and helped me very much, but I needed a little more detail to get it to work. This is very helpful when you have an app that licenses of the mac-address. As this was the only post I could find on this topic, I thought I expand on it.
For me, it required a little more to work - else the switch will be silently discarded. For ubuntu 12.04:
Newer versions of
docker
take a--mac-address=12:34:56:78:9a:bc
switch todocker run
.See https://docs.docker.com/reference/run/
The MAC address is set using the LXC configuration option
lxc.network.hwaddr
. Here is an example of how to set MAC address using Docker 0.6.1:In the output, you will see the HWaddr that was set:
Update:
The previous switch
-lxc-conf
(with 1 dash) has been deprecated.To use the above switch, you docker must be using the LXC driver:
-e lxc