在容器中查找容器名称的C程序-LXC

在容器中查找容器名称的C程序-LXC,c,docker,lxc,C,Docker,Lxc,我正在寻找特定于C的函数,如果它在容器内执行,则返回容器名称;我们有这样的东西吗 目前,我正试图通过读取文件/proc/1/cgroup来获取它 @容器: $> cat /proc/1/cgroup 8:net_cls:/lxc/Container1 7:freezer:/lxc/Container1 6:devices:/lxc/Container1 5:memory:/lxc/Container1 4:cpuac

我正在寻找特定于C的函数,如果它在容器内执行,则返回容器名称;我们有这样的东西吗

目前,我正试图通过读取文件/proc/1/cgroup来获取它

@容器:

      $> cat /proc/1/cgroup 
      8:net_cls:/lxc/Container1
      7:freezer:/lxc/Container1
      6:devices:/lxc/Container1
      5:memory:/lxc/Container1
      4:cpuacct:/lxc/Container1
      3:ns:/Container1
      2:debug:/lxc/Container1
      1:cpuset:/lxc/Container1
@主持人:

      $> cat /proc/1/cgroup 
      8:net_cls:
      7:freezer:
      6:devices:
      5:memory:
      4:cpuacct:
      3:ns:
      2:debug:
      1:cpuset:

通过这个,我们可以得到容器名称;在这里,在container1内部执行程序时是“container1”,否则,在主机上执行相同的程序时,函数返回“NULL”。

我认为在“C”语言中不存在任何这样的程序

但是您可以自己编写一个简单的C程序来检查名为“/.dockerinit”的docker init文件的存在性。 此文件存在于每个docker容器中(docker创建它)

如果此文件存在,则可以打印主机名