最近有一个需求,需要检测当前运行的程序是否运行在 Docker container 中,搜索看了下,有两个地方提到了检测的方案:
因为有两个项目打算做对应的检测,所以就简单封装成了 go 的项目方便统一使用(抄上面的实现方式),is_running_in_docker
因为测试环境有限,想请有条件的帮试一下是否可行,谢谢。
1
ysicing 2022-09-11 18:12:23 +08:00
如果是 runtime 是 docker 的话可以 /.dockerenv, 其他 runtime 如 containerd 貌似就不适用了。
我们现在是通过人为约定环境变量`IS_CONTAINER`来处理的。 |
2
allanpk716 OP @ysicing 嗯,也看到网上提到了这个方案。因为是自己写的确实可以这样去获取环境变量来查看。
|
3
ClarkAbe 2022-09-13 09:46:36 +08:00
可以判断 boot 分区或者 boot 分区是否为空......还是建议搞个权重或者阈值.....到达设定的多少就判定为虚拟机
|
4
allanpk716 OP @ClarkAbe 权重或者阈值,能举个例子嘛?是否可以理解为,多个条件,每个条件一个评分,然后输出总分?
|