我正在寻找C特定的函数来返回容器名称,如果它在容器内执行的话;我们有这样的东西吗?
目前我正试图通过阅读文件/ proc / 1 / cgroup
来获取它@ container:
$> 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"在执行programm内部的容器1否则该函数返回" NULL"在主机上执行相同的操作。
答案 0 :(得分:0)
我不认为有任何这样的程序存在于你正在寻找的内容中。" C" langauage。
但是你可以自己编写一个简单的C程序来检查名为" / .dockerinit"的docker init文件是否存在。 此文件存在于每个docker容器中(Docker创建它)。
如果此文件存在,您可以打印主机名。