linux - 如何确定进程是否在 lxc/Docker 内部运行?

有什么方法可以确定一个进程(脚本)是否在 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/

相关文章:

linux - Linux Ubuntu下启动时自动运行程序

mysql - 无法连接到 MySQL 服务器错误 111

linux - 单击选项卡时出现shell init问题,getcwd有什么问题?

Linux - 仅安装 redis-cli

python - 在 Python 中计算 Pearson 相关性和显着性

linux - 在 linux 中更改 VNC session 的分辨率

python - 使用 Python 处理 csv 文件时如何跳过标题?

python - 如何将列表中的所有项目与 Python 相乘?

python - Python中的退出代码

python - 在 django Forms 中定义 css 类