查看容器状态
有时我们docker/containerd查看容器状态为running,但是runc查看是stopped,这时候可能containerd或runc存在问题
通过runc查看
针对docker
runc --root /var/run/docker/runtime-runc/moby list
文件在
/var/run/docker/runtime-runc/moby/${containerdid}/state.json
runc list会取读取此文件,然后检查
pause状态:
从cgroupmanager获取FreezerState是freeze
stopped状态:
文件中init_process_pid不存在
/proc/${pid}/stat的状态启动时间和文件中的init_process_start不等
/proc/${pid}/stat的状态为Zombie或者Dead
created状态:
/var/run/docker/runtime-runc/moby/${containerdid}/exec.fifo存在
running:
上述都不满足
针对containerd
runc --root /var/run/containerd/runc/k8s.io list
文件在
/run/containerd/runc/k8s.io/${containerid}/state.json
runc list会取读取此文件,然后检查
pause状态:
从cgroupmanager获取FreezerState是freeze
stopped状态:
文件中init_process_pid不存在
/proc/${pid}/stat的状态启动时间和文件中的init_process_start不等
/proc/${pid}/stat的状态为Zombie或者Dead
created状态:
/run/containerd/runc/k8s.io/${containerid}/exec.fifo存在
running:
上述都不满足
查看runtime-spec
针对docker
/run/containerd/io.containerd.runtime.v2.task/moby/${containerid}/config.json
针对containerd
/run/containerd/io.containerd.runtime.v2.task/k8s.io/${containerid}/config.json
可以通过runc spec创建demo runtime-spec,参见runc学习-1
查看cgroup版本
mount|grep /sys/fs/cgroup
查看是否支持cgroup v2
grep cgroup /proc/filesystems
网友评论