如何知道终端是运行在虚拟机还是Docker上?

如何知道终端是运行在虚拟机还是Docker上?

如何知道终端是在虚拟机上运行还是在 Docker 之类的容器上运行?很好奇。

答案1

一种方法是尝试查找与 docker 相关的信息。

cat /proc/self/cgroup | grep -o  -e "docker-.*.scope" | head -n 1 | sed "s/docker-\(.*\).scope/\\1/"

如果位于 docker 容器内,上述命令将返回 ID。有关此命令的更多信息这里

如果失败则可能是您不在 docker 容器内。

相关内容