有什么方法可以确定一个进程(脚本)是否在 lxc 容器中运行(〜 Docker 运行时)?我知道有些程序能够检测它们是否在虚拟机中运行,lxc/docker 有类似的东西吗?
最佳答案
Docker 在容器内目录树的根目录下创建一个 .dockerenv
文件。这可以通过执行 ls -la/.dockerenv
来显示它是在容器启动时创建的。
你可以运行这个脚本来验证:
#!/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
,它可以返回调用它的容器类型。可能会有所帮助。
不过不知道其他主要发行版。
https://stackoverflow.com/questions/20010199/