【问题标题】:Get MAC address of host inside a docker container获取docker容器内主机的MAC地址
【发布时间】:2020-02-17 16:52:24
【问题描述】:

我正在寻找一种有效的方法来获取 docker 容器内主机的 MAC 地址。 docker 容器不会在启用主机网络的情况下运行,我不想将 MAC 地址作为 ENV 变量提供。将有一个程序(最好是 C++ 或 Python 代码)在 docker 容器内运行。该程序会将 MAC 地址写入文件。 MAC 地址将是主机网络设备的真实 MAC 地址。码头工人将有一个 Ubuntu 操作系统。有什么方法可以做到这一点?

【问题讨论】:

    标签: python linux docker c++11


    【解决方案1】:

    试试这个

    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 变量会更好(但你不想要这个解决方案)

    【讨论】:

    • 这肯定会给出 MAC 地址。谢谢,但这里我们从主机外部提供 MAC 地址。是否有可能完全在内部进行?在容器本身内部,不从主机提供任何东西。
    • 据我所知,容器的全部意义在于隔离进程,避免获取主机(父)信息。疯狂的想法尝试分享-v /sys/class/net/eth0/address:/network 然后cat /network 没有尝试但可能有效。告诉我
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-06
    • 2014-05-21
    • 2013-06-14
    • 2022-06-14
    • 2019-06-03
    相关资源
    最近更新 更多