• 请不要在回答技术问题时复制粘贴 AI 生成的内容
allanpk716
V2EX  ›  程序员

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

  •  
  •   allanpk716 · Sep 11, 2022 · 2872 views
    This topic created in 1347 days ago, the information mentioned may be changed or developed.

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

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

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

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

    我们现在是通过人为约定环境变量`IS_CONTAINER`来处理的。
    allanpk716
        2
    allanpk716  
    OP
       Sep 11, 2022
    @ysicing 嗯,也看到网上提到了这个方案。因为是自己写的确实可以这样去获取环境变量来查看。
    ClarkAbe
        3
    ClarkAbe  
       Sep 13, 2022
    可以判断 boot 分区或者 boot 分区是否为空......还是建议搞个权重或者阈值.....到达设定的多少就判定为虚拟机
    allanpk716
        4
    allanpk716  
    OP
       Sep 14, 2022
    @ClarkAbe 权重或者阈值,能举个例子嘛?是否可以理解为,多个条件,每个条件一个评分,然后输出总分?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3104 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 14:09 · PVG 22:09 · LAX 07:09 · JFK 10:09
    ♥ Do have faith in what you're doing.