news 2026/9/15 10:59:09

如何区分应用所在的运行环境:物理机、虚拟机、容器还是 K8s?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如何区分应用所在的运行环境:物理机、虚拟机、容器还是 K8s?

物理机

物理机和虚拟机因为都是完整的操作系统。因此可以用dmidecode来检查计算机所在的环境。dmidecode是一个可以将DMI table中的内容以人类可读格式导出的工具。DMI (也被称为SMBIOS) Table中保存的是该表包含系统硬件组件的描述,以及其他有用的信息,例如序列号和BIOS版本。

dmidecode -s system-product-name

2 虚拟机

不同的虚拟平台检查出来的结果会有所不同。

Kvm

OpenStack

Vmware

3. 容器

Docker

docker容器通常会在 "/" 目录下有一个dockerenv文件。一些老版本可能是dockerinit文件

或者可以直接通过查看cgroup信息中是否包含docker字样来判断。在容器技术中,cgroup主要用作资源管理和隔离。

阿里云的容器

k8s

k8s又分两种情况,使用docker为容器底座和使用containerd为容器底座。k8s的pod中都带有k8s的环境变量。

所以我们可以通过env来判断是否是运行在k8s环境。

如果根目录下有docker文件,且env有k8s环境变量说明容器底座使用的是docker。否则是containerd。也可以通过cgroup进一步确认,cgroup信息中会包含有kube和containerd字样。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/15 18:13:55

提升 Web 端 JavaScript 的可信度:WAICT 体系详解

当前互联网时代,网页是最强大的应用平台。只要在浏览器中拥有合适的 API,你理论上可以安全运行任何你想运行的东西。不过——除了“加密学”这块。事实上,自 2011 年以来,“网页中的 JavaScript 加密”一说就被认为是“不靠谱”的…

作者头像 李华
网站建设 2026/9/15 4:50:39

一次 React 项目 lock 文件冲突修复:从 Hook 报错到 Vite 配置优化

在日常开发中,分支合并是高频操作,但稍有不慎就可能引发依赖相关的“连锁反应”。本文记录了一次rebase main后因 lock 文件冲突,导致 React Hook 报错的完整排查与解决过程,希望能为遇到类似问题的开发者提供参考。一、背景&…

作者头像 李华
网站建设 2026/9/15 15:41:30

记录一次USB虚拟网络问题排查

背景介绍项目是用yocto构建的,在升级kernel及yocto后(见https://www.cnblogs.com/ma-yangbiao/p/19149251), 发现某些功能不能正常工作。问题介绍目标机是某个不常用的x86平台,该x86 盒子通过USB连接MDM9150, 在该x86盒子上跑某个…

作者头像 李华
网站建设 2026/9/15 12:56:18

学Simulink——基于高比例可再生能源渗透的复杂电网建模场景实例:大规模光伏并网对区域电网频率稳定影响研究

目录 手把手教你学Simulink ——基于高比例可再生能源渗透的复杂电网建模场景实例:大规模光伏并网对区域电网频率稳定影响研究 一、背景介绍 二、系统结构设计 三、建模过程详解 第一步:创建新 Simulink 项目 第二步:添加主要模块 1. …

作者头像 李华
网站建设 2026/9/15 23:54:03

CANN Samples(十九):特色场景:机器人 AI 绘画 手写识别等

1. 当AI不止于识别:探索CANN的趣味应用 在我们之前的文章中,我们聊了许多关于图像分类、目标检测的话题,这些都是AI在“看懂”世界方面的应用。但AI的魅力远不止于此。当它与物理世界互动,会诞生出机器人;当它被赋予创…

作者头像 李华