如何知道终端是在虚拟机上运行还是在 Docker 之类的容器上运行?很好奇。
答案1
一种方法是尝试查找与 docker 相关的信息。
cat /proc/self/cgroup | grep -o -e "docker-.*.scope" | head -n 1 | sed "s/docker-\(.*\).scope/\\1/"
如果位于 docker 容器内,上述命令将返回 ID。有关此命令的更多信息这里
如果失败则可能是您不在 docker 容器内。
如何知道终端是在虚拟机上运行还是在 Docker 之类的容器上运行?很好奇。
一种方法是尝试查找与 docker 相关的信息。
cat /proc/self/cgroup | grep -o -e "docker-.*.scope" | head -n 1 | sed "s/docker-\(.*\).scope/\\1/"
如果位于 docker 容器内,上述命令将返回 ID。有关此命令的更多信息这里
如果失败则可能是您不在 docker 容器内。