• Docker容器获取宿主机信息


    🚀 优质资源分享 🚀

    学习路线指引(点击解锁) 知识定位 人群定位
    🧡 Python实战微信订餐小程序 🧡 进阶级 本课程是python flask+微信小程序的完美结合,从项目搭建到腾讯云部署上线,打造一个全栈订餐系统。
    💛Python量化交易实战💛 入门级 手把手带你打造一个易扩展、更安全、效率更高的量化交易系统

    最近在做产品授权的东西,开始宿主机为Window,程序获取机器硬件信息相对简单些,后来部署时发现各种各样的的环境问题,所有后来改用dokcer部署,docker方式获取宿主机信息时花了些时间,特此记录一下

    docker 获取宿主机的信息

        // dmidecode -t 4 | grep ID | tail -1 // CPUID
    
     // 系统
    
     // dmidecode -s system-serial-number // 查看系统序列号
    
     // dmidecode -s system-uuid // 查看系统UUID
    
     // dmidecode -s system-product-name //查看服务器系统型号
    
     // dmidecode -s processor-manufacturer | tail -1 // 处理器厂家
    
     
     // 主板
    
     // dmidecode -s baseboard-product-name // 主板型号
    
     // dmidecode -s baseboard-serial-number // 主板序列号
    
     // dmidecode -s baseboard-manufacturer // 主板厂家
    

    实际项目当中,我获取了CPUID、系统序列号、系统UUID、系统型号、处理器厂家,之所有获取这么多信息标识机器,是考虑到有些信息在某些系统可能为空,而且CPUID也不唯一了,所以就多获取些。

    调查下来,docker 获取宿主机信息大体可以通过三种方式

    • 通过环境变量由外部传入容器内
    • 使用挂载宿主机目录方式
    • 在容器中使用ssh连接到主机

    一:通过环境变量由外部传入容器内

    大体思路是docker 支持通过-e来传递参数到容器内部程序,就像安装docker-mysql那样密码可以通过参数传递一样

    • 在DockeFile中增加环境变量配置节点 (此步骤主要用来设置参数默认,也可以省略,通过其它方式设置)
    • 在程序启动时应用获取程序变量并应用
    • 在docker run 时通过-e参数传递到容器中

    二:使用挂载宿主机目录方式

    确保宿主机能执行dmidecode命令(必须)

    将宿主机的如下两个目录挂载到容器中

      // dmidecode程序的目录,如果不挂载那么容器中识别不了dmidecode命令
    
      /usr/sbin/dmidecode或者/sbin/dmidecode
    
     // dmidecode调用时会使用到mem这个文件,如果不挂载会找不到文件
    
       /dev/mem
    

    在容器启动时增加 --privileged = true参数,让容器获得近似于宿主机root的权限

    三:在容器中使用ssh连接到主机

    思路:在docker容器内安装ssh,sshpass服务,通过ssh连接到宿主机执行命令,获 取宿主机信息(必须知道宿主机Ip和密码)

    步骤:

    • 安装服务 yum -y install openssh-server
    • 修改配置 vim /etc/ssh/sshd_config PermitRootLogin的值修改为yes保存退出
    • 启动ssh服务 systemctl start sshd.service
    • 设置开机启动 systemctl enable sshd.service
    • 安装sshpass yum -y install sshpass

    Window 获取设备信息帮助类

    <
  • 相关阅读:
    Vulnhub | DC: 8 |【实战】
    1路编码器2路DI转速测量RS485串口连接1路DO报警模块IBF151
    启动类信息输出HMallApplication
    中国各省市相关图标
    探测SiTime硅晶振输出的实用指南
    抖音矩阵系统,抖音矩阵系统源码。hei
    Yalmip+DCOPF+直流最优潮流
    MultiButton按键驱动模块的使用
    flutter run可以运行,但是Android sync同步一直报错
    VMware-KVM安装
  • 原文地址:https://blog.csdn.net/m0_56069948/article/details/127116499