解决docker启动失败报错:Devices cgroup isn‘t mounted

文章讲述了用户在启动Docker时遇到失败,通过journalctl-xe查看报错发现是由于cgroups未正确挂载。文章详细介绍了错误的挂载示例,指出cpu、cpuacct和blkio挂载路径错误,以及如何通过umount和mount命令修复这些问题,最终成功重启Docker并显示了初始化信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.启动docker失败:
[root@liurui-node-2 gbase]# systemctl start docker
Job for docker.service failed because the control process exited with error code. See “systemctl status docker.service” and “journalctl -xe” for details.
2.使用journalctl -xe查看报错详情:
[root@liurui-node-2 gbase]# journalctl -xe
Jul 28 15:19:05 liurui-node-2.novalocal dockerd-current[17262]: time=“2023-07-28T15:19:05.810497999+08:00” level=warning msg=“Unable to find cpuset cgroup in mounts”
Jul 28 15:19:05 liurui-node-2.novalocal dockerd-current[17262]: time=“2023-07-28T15:19:05.810559673+08:00” level=warning msg=“mountpoint for pids not found”
Jul 28 15:19:05 liurui-node-2.novalocal dockerd-current[17262]: Error starting daemon: Devices cgroup isn’t mounted
Jul 28 15:19:05 liurui-node-2.novalocal systemd[1]: docker.service: main process exited, code=exited, status=1/FAILURE
Jul 28 15:19:05 liurui-node-2.novalocal systemd[1]: Failed to start Docker Application Container Engine.
3.此时查看是不是cgroup没挂载或者挂载路径不正确
正确的挂载示例:
[root@jubin-node-1-0 ~]# lssubsys -am
cpuset /sys/fs/cgroup/cpuset
cpu,cpuacct /sys/fs/cgroup/cpu,cpuacct
memory /sys/fs/cgroup/memory
devices /sys/fs/cgroup/devices
freezer /sys/fs/cgroup/freezer
net_cls,net_prio /sys/fs/cgroup/net_cls,net_prio
blkio /sys/fs/cgroup/blkio
perf_event /sys/fs/cgroup/perf_event
hugetlb /sys/fs/cgroup/hugetlb
pids /sys/fs/cgroup/pids

错误的挂载示例:
[root@liurui-node-2 gbase]# lssubsys -am
cpuset
memory
devices
freezer
net_cls
perf_event
hugetlb
pids
net_prio
cpu /cgroup/cpu
cpuacct /cgroup/cpuacct
blkio /cgroup/blkio
错误有两个,一是cpu、cpuacct、blkio挂载路径错误,而是其他的部分没有进行挂载

解决方法:先把挂载路径错误的取消挂载,例如:umount cpu;
然后全部重新挂载:
mount -t cgroup -o cpu,cpuacct cpu,cpuacct /sys/fs/cgroup/cpu,cpuacct
mount -t cgroup -o cpuset cpuset /sys/fs/cgroup/cpuset
mount -t cgroup -o memory memory /sys/fs/cgroup/memory
mount -t cgroup -o devices devices /sys/fs/cgroup/devices
mount -t cgroup -o freezer freezer /sys/fs/cgroup/freezer
mount -t cgroup -o net_cls,net_prio net_cls,net_prio /sys/fs/cgroup/net_cls,net_prio
mount -t cgroup -o blkio blkio /sys/fs/cgroup/blkio
mount -t cgroup -o perf_event perf_event /sys/fs/cgroup/perf_event
mount -t cgroup -o hugetlb hugetlb /sys/fs/cgroup/hugetlb
mount -t cgroup -o pids pids /sys/fs/cgroup/pids

4.再次启动docker启动成功
[root@liurui-node-2 gbase]# systemctl start docker
[root@liurui-node-2 gbase]# systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
Active: active (running) since Fri 2023-07-28 15:25:42 CST; 5s ago
Docs: http://docs.docker.com
Main PID: 17451 (dockerd-current)
Tasks: 25
Memory: 22.9M
CGroup: /system.slice/docker.service
├─17451 /usr/bin/dockerd-current --add-runtime docker-runc=/usr/libexec/docker/docker-runc-current --default-runtime=docker-runc --exec-opt native.cgroupdriver=systemd --userland-proxy-path=/usr…
└─17459 /usr/bin/docker-containerd-current -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --metrics-interval=0 --start-timeout 2m --state-dir /var/run/docker/libcontainerd/contai…

Jul 28 15:25:40 liurui-node-2.novalocal dockerd-current[17451]: time=“2023-07-28T15:25:40.760637358+08:00” level=info msg=“Graph migration to content-addressability took 0.00 seconds”
Jul 28 15:25:40 liurui-node-2.novalocal dockerd-current[17451]: time=“2023-07-28T15:25:40.761166398+08:00” level=warning msg=“Unable to find cpu cgroup in mounts”
Jul 28 15:25:40 liurui-node-2.novalocal dockerd-current[17451]: time=“2023-07-28T15:25:40.762268579+08:00” level=info msg=“Loading containers: start.”
Jul 28 15:25:40 liurui-node-2.novalocal dockerd-current[17451]: time=“2023-07-28T15:25:40.984547994+08:00” level=info msg=“Firewalld running: false”
Jul 28 15:25:41 liurui-node-2.novalocal dockerd-current[17451]: time=“2023-07-28T15:25:41.745054108+08:00” level=info msg=“Default bridge (docker0) is assigned with an IP address 172.17.0.0/16… IP address”
Jul 28 15:25:42 liurui-node-2.novalocal dockerd-current[17451]: time=“2023-07-28T15:25:42.613147774+08:00” level=info msg=“Loading containers: done.”
Jul 28 15:25:42 liurui-node-2.novalocal dockerd-current[17451]: time=“2023-07-28T15:25:42.795494056+08:00” level=info msg=“Daemon has completed initialization”
Jul 28 15:25:42 liurui-node-2.novalocal dockerd-current[17451]: time=“2023-07-28T15:25:42.795613916+08:00” level=info msg=“Docker daemon” commit=“7d71120/1.13.1” graphdriver=overlay2 version=1.13.1
Jul 28 15:25:42 liurui-node-2.novalocal dockerd-current[17451]: time=“2023-07-28T15:25:42.810946862+08:00” level=info msg=“API listen on /var/run/docker.sock”
Jul 28 15:25:42 liurui-node-2.novalocal systemd[1]: Started Docker Application Container Engine.
Hint: Some lines were ellipsized, use -l to show in full.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值