封装了个 go 库,检测当前运行的程序是否运行在 Docker container,想让大家帮试试兼容性如何

2022-09-11 17:36:00 +08:00
 allanpk716

最近有一个需求,需要检测当前运行的程序是否运行在 Docker container 中,搜索看了下,有两个地方提到了检测的方案:

因为有两个项目打算做对应的检测,所以就简单封装成了 go 的项目方便统一使用(抄上面的实现方式),is_running_in_docker

因为测试环境有限,想请有条件的帮试一下是否可行,谢谢。

2117 次点击
所在节点    程序员
4 条回复
ysicing
2022-09-11 18:12:23 +08:00
如果是 runtime 是 docker 的话可以 /.dockerenv, 其他 runtime 如 containerd 貌似就不适用了。

我们现在是通过人为约定环境变量`IS_CONTAINER`来处理的。
allanpk716
2022-09-11 18:26:21 +08:00
@ysicing 嗯,也看到网上提到了这个方案。因为是自己写的确实可以这样去获取环境变量来查看。
ClarkAbe
2022-09-13 09:46:36 +08:00
可以判断 boot 分区或者 boot 分区是否为空......还是建议搞个权重或者阈值.....到达设定的多少就判定为虚拟机
allanpk716
2022-09-14 08:50:09 +08:00
@ClarkAbe 权重或者阈值,能举个例子嘛?是否可以理解为,多个条件,每个条件一个评分,然后输出总分?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/879309

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX