V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
allanpk716
V2EX  ›  程序员

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

  •  
  •   allanpk716 · 2022-09-11 17:36:00 +08:00 · 2061 次点击
    这是一个创建于 789 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    4 条回复    2022-09-14 08:50:09 +08:00
    ysicing
        1
    ysicing  
       2022-09-11 18:12:23 +08:00
    如果是 runtime 是 docker 的话可以 /.dockerenv, 其他 runtime 如 containerd 貌似就不适用了。

    我们现在是通过人为约定环境变量`IS_CONTAINER`来处理的。
    allanpk716
        2
    allanpk716  
    OP
       2022-09-11 18:26:21 +08:00
    @ysicing 嗯,也看到网上提到了这个方案。因为是自己写的确实可以这样去获取环境变量来查看。
    ClarkAbe
        3
    ClarkAbe  
       2022-09-13 09:46:36 +08:00
    可以判断 boot 分区或者 boot 分区是否为空......还是建议搞个权重或者阈值.....到达设定的多少就判定为虚拟机
    allanpk716
        4
    allanpk716  
    OP
       2022-09-14 08:50:09 +08:00
    @ClarkAbe 权重或者阈值,能举个例子嘛?是否可以理解为,多个条件,每个条件一个评分,然后输出总分?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2791 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 13:23 · PVG 21:23 · LAX 05:23 · JFK 08:23
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.