首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >确定进程是否在LXC/Docker中运行?

确定进程是否在LXC/Docker中运行?
EN

Stack Overflow用户
提问于 2018-04-23 08:01:37
回答 2查看 0关注 0票数 0

是否有任何方法确定进程(脚本)是否在LXC容器(~Docker运行时)中运行?我知道有些程序能够检测到它们是否在虚拟机中运行,LXC/docker是否也可以使用类似的程序?

EN

回答 2

Stack Overflow用户

发布于 2018-04-23 16:05:40

最可靠的方法是检查/proc/1/cgroup。它将告诉您init进程的控制组,以及在一个容器中,这将是/所有等级制度。当你是容器,将看到锚点的名称;对于LXC/Docker容器,它将类似于/lxc/<containerid>/docker/<containerid>分别。

票数 0
EN

Stack Overflow用户

发布于 2018-04-23 17:39:50

Docker创建一个.dockerenv文件位于容器内目录树的根目录下。可以运行此脚本来验证

代码语言:txt
复制
#!/bin/bash
if [ -f /.dockerenv ]; then
    echo "I'm inside matrix ;(";
else
    echo "I'm living in real world!";
fi

Ubuntu实际上有一个bash脚本:/bin/running-in-container它实际上可以返回调用它的容器的类型。可能会有帮助。不过,我不知道其他的主要发行版。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100004445

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档