【发布时间】:2020-02-17 16:52:24
【问题描述】:
我正在寻找一种有效的方法来获取 docker 容器内主机的 MAC 地址。 docker 容器不会在启用主机网络的情况下运行,我不想将 MAC 地址作为 ENV 变量提供。将有一个程序(最好是 C++ 或 Python 代码)在 docker 容器内运行。该程序会将 MAC 地址写入文件。 MAC 地址将是主机网络设备的真实 MAC 地址。码头工人将有一个 Ubuntu 操作系统。有什么方法可以做到这一点?
【问题讨论】:
我正在寻找一种有效的方法来获取 docker 容器内主机的 MAC 地址。 docker 容器不会在启用主机网络的情况下运行,我不想将 MAC 地址作为 ENV 变量提供。将有一个程序(最好是 C++ 或 Python 代码)在 docker 容器内运行。该程序会将 MAC 地址写入文件。 MAC 地址将是主机网络设备的真实 MAC 地址。码头工人将有一个 Ubuntu 操作系统。有什么方法可以做到这一点?
【问题讨论】:
试试这个
ifconfig -a | grep -Po 'HWaddr \K.*$') > /path/you/choose/host_mac_address
当你运行 docker run 时
docker run -v /path/you/choose:/app container
在您的应用程序中只需要打开位于 /app/host_mac_address 的文件
当你有想法时,让这一切变得更好
所有这些都使用 ENV 变量会更好(但你不想要这个解决方案)
【讨论】:
-v /sys/class/net/eth0/address:/network 然后cat /network 没有尝试但可能有效。告诉我