摘要
当通过python代码请求时,我没有从设备中获得预期的主机名;我得到一些容器ID
背景
在python 3中的Raspbian上运行以下代码时:
import socket
print(socket.gethostname())
或者:
^{2}$…您将获得正在运行代码的计算机的主机名。 (这就是我所期待的)
当你从一个定制的物联网边缘模块做同样的事情时,你会得到某种我认为容器的标识符?在
如何在容器模块本身中获取容器正在其上运行的系统的主机名?在
解决方案
如建议,设备ID和模块ID作为环境变量公开: IoEdge_DEVICEID和IoEdge_MODULEID。在
所以现在在python中可以执行以下操作:
DEVICEID = os.environ["IOTEDGE_DEVICEID"]
MODULEID = os.environ["IOTEDGE_MODULEID"]
然后在(python)代码中使用类似的变量。在
类似的问题请参见here。简单回答:在您的自定义模块容器上执行
docker inspect
,并查看可用的不同环境变量。其中之一是边缘设备的主机名。在相关问题 更多 >
编程相关推荐