Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 获取docker容器中主机的MAC地址_Python_Linux_Docker_C++11 - Fatal编程技术网

Python 获取docker容器中主机的MAC地址

Python 获取docker容器中主机的MAC地址,python,linux,docker,c++11,Python,Linux,Docker,C++11,我正在寻找一种在docker容器中获取主机MAC地址的有效方法。docker容器不会在启用主机网络的情况下运行,我不想将MAC地址作为ENV变量提供。将有一个程序(最好是C++或Python代码)运行在DOCKER容器内部。程序将把MAC地址写入一个文件。MAC地址将是主机网络设备的真实MAC地址。docker将拥有一个Ubuntu操作系统。有什么办法可以做到这一点 试试这个 ifconfig -a | grep -Po 'HWaddr \K.*$') > /path/you/choose

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

试试这个

ifconfig -a | grep -Po 'HWaddr \K.*$') > /path/you/choose/host_mac_address
运行时,docker运行

    docker run -v /path/you/choose:/app container
在应用程序内部,只需打开位于/app/host\u mac\u地址的文件

当你有了这个想法,这一切都会变得更好

使用ENV变量会更好(但您不需要此解决方案)

试试这个

ifconfig -a | grep -Po 'HWaddr \K.*$') > /path/you/choose/host_mac_address
运行时,docker运行

    docker run -v /path/you/choose:/app container
在应用程序内部,只需打开位于/app/host\u mac\u地址的文件

当你有了这个想法,这一切都会变得更好


使用ENV变量(但您不希望使用此解决方案)会更好。

这将确定MAC地址。谢谢,但这里我们从主机外部提供MAC地址。可以完全在内部进行吗?在容器内部,不提供任何来自主机的信息。据我所知,容器的全部目的是隔离进程,避免获取主机(父)信息。疯狂的想法尝试共享
-v/sys/class/net/eth0/address:/network
然后
cat/network
没有尝试,但可能有用。让我知道这会确定MAC地址。谢谢,但这里我们从主机外部提供MAC地址。可以完全在内部进行吗?在容器内部,不提供任何来自主机的信息。据我所知,容器的全部目的是隔离进程,避免获取主机(父)信息。疯狂的想法尝试共享
-v/sys/class/net/eth0/address:/network
然后
cat/network
没有尝试,但可能有用。让我知道