我正在寻找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初始化文件。
该文件位于每个Docker容器内部(Docker创建它)。
如果该文件存在,则可以打印主机名。
关于c - 在容器内部查找容器名称的C程序-LXC,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32732782/