在容器中查找容器名称的C程序-LXC
我正在寻找特定于C的函数,如果它在容器内执行,则返回容器名称;我们有这样的东西吗 目前,我正试图通过读取文件/proc/1/cgroup来获取它 @容器:在容器中查找容器名称的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
$> 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创建它) 如果此文件存在,则可以打印主机名