Docker容器可以cpu、memory等资源限制,在容器中,如何查询当前容器可使用的资源?
在真是物理环境中,可以通过proc
文件系统获取,当前可以使用的CPU的信息
cat /proc/cpuinfo
但是上述方式获取资源配置,在RunC中,将获取错误的信息:读取到的数据为host端全局数据,并不会显示容器内、隔离、限制资源后的资源,所以在运行的容器中不能使用此种方式获取隔离容器资源。
获取容器资源
在上述方式在容器中,通过PROC接口获取资源,为什么会获取到全局的host端的资源?
容器的中的 /proc 文件系统是怎么来的?
cat config.json | python -m json.tool
config.json(容器运行时配置文件)获取方式:
runc list # 获取容器bundle目录