在docker容器中是无法直接获取宿主服务器中的Mac地址的,容器中使用命令或者程序中所获取的mac地址是容器内部的临时Mac地址,但这样Mac地址会在进行一操作比如服务器重启、容器重新构建的时候会发生变化,只在restart容器的时候不会变,这就不符合我们取mac地址的用途(取mac就是希望得到一个不变的硬件服务器相关的参数值)。本文地址:http://www.04007.cn/article/1147.html,未经许可,不得转载.
#在docker容器里的python程序中可以使用如下命令获取容器的mac地址。 import sh mac = sh.grep(sh.ifconfig("eth0"), "-oE", "[a-fA-F0-9:]{17}") mac = mac.strip()要想获取宿主服务器的Mac地址,需要在启动docker容器的时候通过启动命令传入mac地址。如下在启动容器的命令中添加进环境变量的命令选项。
docker run ... -e "mac_address=`ifconfig eth0 | grep ether | grep -oE "[a-fA-F0-9:]{17}"`" \然后在容器中的python程序中使用os模块提取传入的环境变量。
import os print(os.environ.get('mac_address'))本文地址:http://www.04007.cn/article/1147.html,未经许可,不得转载.
本文地址:http://www.04007.cn/article/1147.html 未经许可,不得转载. 手机访问本页请扫描右下方二维码.
![]() |
![]() |
手机扫码直接打开本页面 |