You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从Docker容器中识别宿主机的操作系统类型?

在Docker容器中判断宿主机操作系统的方法

以下几种非官方方法可用于故障排查时获取宿主机OS信息:

  • 查看内核版本标识
    在容器内执行以下命令:

    cat /proc/sys/kernel/osrelease
    
    • 若输出包含moby或linuxkit,宿主机大概率是macOS(Docker Desktop for Mac基于LinuxKit虚拟机)
    • 若输出包含microsoft或WSL,宿主机是Windows(Docker Desktop for Windows默认用WSL2或Hyper-V)
    • 若输出是标准Linux内核版本号(如5.15.0-78-generic),宿主机为原生Linux
  • 检查SCSI设备信息
    执行命令查看硬件相关标识:

    cat /proc/scsi/scsi
    
    • macOS宿主机对应的容器中,会出现LinuxKit或VMware, Inc.相关条目
    • Windows宿主机对应的容器中,会包含Microsoft Hyper-V字样
    • 原生Linux宿主机则显示实际物理硬件的厂商信息
  • 通过Docker守护进程信息判断(需权限)
    如果容器挂载了宿主机的Docker socket(/var/run/docker.sock),可执行:

    docker info | grep -i "operating system"
    

    该命令会直接返回宿主机的操作系统名称,比如Operating System: macOS 13.5或Operating System: Ubuntu 22.04 LTS

  • 查看DMI系统供应商信息
    执行命令:

    cat /sys/class/dmi/id/sys_vendor 2>/dev/null
    
    • 输出LinuxKit对应macOS宿主机
    • 输出Microsoft Corporation对应Windows宿主机
    • 原生Linux宿主机则输出硬件厂商名称(如Dell Inc.、Lenovo等)

注意:这些方法依赖Docker Desktop的底层实现(比如macOS/Windows用虚拟机),若Docker的底层架构变更,结果可能不准确,但足以用于日常故障排查。

内容的提问来源于stack exchange,提问作者Irina Rapoport

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 07:45:31