docker 启动失败 报错 大概报错内容为
cgroup :no such file
can not create /sys/fs/cgroup/cpuset ...
问题是因为 /sys/fs/cgroup/ 没有被正确挂载
cgroup 是实现资源限制的工具 docker 能够进行限制cpu 内存 大小 依赖cgroup
ll /sys/fs/cgroup/ 发现一个都系也没有
mount |grep cgroup ,df -hT 都可以表示我已经挂在了 但实际上我/sys/fs/cgroup/ 没有内容
可以尝试 执行 这个命令 systemctl daemon-reexec 如果不行 重启服务器 如果重启服务器不行 就在重启几次
7月15日 又出现这个问题了
问题现象是 开机时 /sys/fs/cgroup/ 有内容 看似正常 但我一启动 docker 容器 启动失败
unable to apply cgroup configuration :mkdir /sys/fs/cgroup/cpuset : no such file or directory
再次查看 /sys/fs/cgroup/ 下面就没有东西了
百度半天 尝试手动挂载 手动挂载后 重启docker 问题解决
Shell
mkdir -p /sys/fs/cgroup/blkio
mkdir -p /sys/fs/cgroup/cpu,cpuacct
mkdir -p /sys/fs/cgroup/cpuset
mkdir -p /sys/fs/cgroup/devices
mkdir -p /sys/fs/cgroup/freezer
mkdir -p /sys/fs/cgroup/hugetlb
mkdir -p /sys/fs/cgroup/memory
mkdir -p /sys/fs/cgroup/net_cls,net_prio
mkdir -p /sys/fs/cgroup/perf_event
mkdir -p /sys/fs/cgroup/pids
mkdir -p /sys/fs/cgroup/rdma
mount -t cgroup -o net_cls,net_prio cgroup /sys/fs/cgroup/net_cls,net_prio
mount -t cgroup -o freezer cgroup /sys/fs/cgroup/freezer
mount -t cgroup -o memory cgroup /sys/fs/cgroup/memory
mount -t cgroup -o rdma cgroup /sys/fs/cgroup/rdma
mount -t cgroup -o blkio cgroup /sys/fs/cgroup/blkio
mount -t cgroup -o hugetlb cgroup /sys/fs/cgroup/hugetlb
mount -t cgroup -o pids cgroup /sys/fs/cgroup/pids
mount -t cgroup -o perf_event cgroup /sys/fs/cgroup/perf_event
mount -t cgroup -o cpu,cpuacct cgroup /sys/fs/cgroup/cpu,cpuacct
mount -t cgroup -o devices cgroup /sys/fs/cgroup/devices
mount -t cgroup -o cpuset cgroup /sys/fs/cgroup/cpuset
mount -t cgroup cgroup /sys/fs/cgroup
mount -t cgroup -o none,name=systemd cgroup /sys/fs/cgroup/systemd
chmod 755 /sys/fs/cgroup
chmod 555 /sys/fs/cgroup/*
ln -s /sys/fs/cgroup/cpu,cpuacct /sys/fs/cgroup/cpu
ln -s /sys/fs/cgroup/cpu,cpuacct /sys/fs/cgroup/cpuacct
ln -s /sys/fs/cgroup/net_cls,net_prio /sys/fs/cgroup/net_cls
ln -s /sys/fs/cgroup/net_cls,net_prio /sys/fs/cgroup/net_prio