Dockerコンテナを実行すると、ランダムなMACアドレスが使用されていることがわかります。
eth0 Link encap:Ethernet HWaddr de:6f:de:74:bd:d9
コンテナ実行に特定のMACアドレスを設定するにはどうすればよいですか?
同じMACアドレスで複数のコンテナを同時に実行することはできますか?これらのコンテナは、外部ネットワークにアクセスする必要はなく、相互に通信する必要もありません。
MACアドレスは、LXC構成オプションlxc.network.hwaddr
を使用して設定されます。 Docker0.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ドライバーを使用している必要があります:-e lxc
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/ を参照してください
上記の答えは私にとってはうまくいき、とても役に立ちましたが、それを機能させるにはもう少し詳細が必要でした。これは、MACアドレスのライセンスを取得するアプリがある場合に非常に役立ちます。これは私がこのトピックに関して見つけることができた唯一の投稿だったので、私はそれを拡張すると思いました。
私にとっては、動作するのにもう少し必要でした-そうでなければ、スイッチは静かに破棄されます。 ubuntu 12.04の場合: