有什么方法可以确定进程(脚本)是否在lxc容器(〜Docker运行时)中运行?我知道有些程序能够检测它们是否在虚拟机中运行,是否可以为lxc / docker使用类似的程序?
最可靠的方法是检查/proc/1/cgroup。它会告诉您init进程的控制组,并且当您 不在 容器中时,它将/用于所有层次结构。当您 在 容器内时,将看到锚点的名称。对于LXC / Docker容器,将分别类似于/lxc/<containerid>或/docker/<containerid>。
/proc/1/cgroup
/
/lxc/<containerid>
/docker/<containerid>