用的好好地,重启一遍虚拟机后,突然无法自启docker了,研究了一下,找到了问题

在无法启动docker后,查看了错误情况,发现是个 status=2,百度了一下基本没有答案,很是生气。

[root@xx ~]# systemctl status docker.service
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
Active: failed (Result: start-limit) since 四 2020-12-24 16:31:15 CST; 3min 51s ago
Docs: https://docs.docker.com
Process: 2440 ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock (code=exited, status=2)
Main PID: 2440 (code=exited, status=2)

于是换成了google,找了一个解决方案,修改 /etc/docker/daemon.json 增加两项配置:

"graph": "/mnt/docker-data", 
"storage-driver": "overlay"

然后再重启docker 即可启动成功

systemctl start docker.service

原因推测如下:

docker的engine 基于Device Mapper提供的一种存储驱动,而它又依赖与 devicemapper。于是乎我将它给删除并重启服务,解决了docker无法正常启动的问题。

docker.jpeg
引用:

超凡2012