I’ve run into an interesting network-based licensing problem.
On linux, when the
dockerd service starts, it assigns a quasi-random MAC address to the
docker0 bridge interface.
In general, that’s fine, but I am using a piece of software that node-locks itself based on an ethernet interface’s address.
So, when I went to license the software,
docker0 was the first interface the licensing app saw, alphabetically, and, apparently it took that interface’s MAC and generated a license using that. (Note - of course, depending on how you query the interfaces, they may or may not come out in a different order. Usually,
lo comes out first in some probes. But the alphabetical order of
ifconfig seems to be what is being used here.
docker0 has a different MAC, software license manager gives me the ‘not licensed for this machine’ story.
I’ve seen several mentions of potential settings in
daemon.json like setting
mac-address in there, but none work. That option, while groovy when using
docker run doesn’t seem to be respected in the
Also, I’ve alerted the license-generator software company to this, and, was able to license it by just not having docker around as a daemon, hand starting it when needed. But I’m interested, for the future, if there is a way to make this more configurable. I’m guessing I could muck about in the
.service file and maybe force the option there, but, I’d rather not and just let it use the already-existent config file.