此文章为安装过程启动时候的常见问题记录,安装过程省略...

1、使用

systemctl start docker命令启动报错

[root@localhost ~]# 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、上述报错不详细,通过命令

systemctl status docker.service查看详细报错

[root@iZ23lj7d0igZ etc]# systemctl status docker.service
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
   Active: failed (Result: start-limit) since Thu 2019-01-24 14:12:25 CST; 3s ago
     Docs: https://docs.docker.com
  Process: 19664 ExecStart=/usr/bin/dockerd -H fd:// (code=exited, status=1/FAILURE)
 Main PID: 19664 (code=exited, status=1/FAILURE)

Jan 24 14:12:23 iZ23lj7d0igZ systemd[1]: Failed to start Docker Application Container Engine.
Jan 24 14:12:23 iZ23lj7d0igZ systemd[1]: Unit docker.service entered failed state.
Jan 24 14:12:23 iZ23lj7d0igZ systemd[1]: docker.service failed.
Jan 24 14:12:25 iZ23lj7d0igZ systemd[1]: docker.service holdoff time over, scheduling restart.
Jan 24 14:12:25 iZ23lj7d0igZ systemd[1]: Stopped Docker Application Container Engine.
Jan 24 14:12:25 iZ23lj7d0igZ systemd[1]: start request repeated too quickly for docker.service
Jan 24 14:12:25 iZ23lj7d0igZ systemd[1]: Failed to start Docker Application Container Engine.
Jan 24 14:12:25 iZ23lj7d0igZ systemd[1]: Unit docker.service entered failed state.
Jan 24 14:12:25 iZ23lj7d0igZ systemd[1]: docker.service failed.

3、此处报错也不是特别详细直观,这时可以通过dockerd命令查看更详细的报错信息

INFO[0000] serving...                                    address="/var/run/docker/containerd/docker-containerd-debug.sock" module="containerd/debug"
INFO[0000] serving... address="/var/run/docker/containerd/docker-containerd.sock" module="containerd/grpc"
INFO[0000] containerd successfully booted in 0.034483s module=containerd
ERRO[2020-05-06T21:50:49.850733133+08:00] 'overlay' not found as a supported filesystem on this host. Please ensure kernel is new enough and has overlay support loaded.
Error starting daemon: error initializing graphdriver: driver not supported

从这里报错,可以看出

daemon.json配置文件有问题,或者不对,修改

或者创建daemon.json配置文件

vim /etc/docker/daemon.json

加入或者修改以下内容

{"storage-driver": "devicemapper"}

这里,为了保险,可以重启一下系统,但是启动后依然报错,如下

INFO[0000] serving...                                    address="/var/run/docker/containerd/docker-containerd-debug.sock" module="containerd/debug"
INFO[0000] serving... address="/var/run/docker/containerd/docker-containerd.sock" module="containerd/grpc"
INFO[0000] containerd successfully booted in 0.002203s module=containerd
WARN[2020-05-06T21:52:43.856486611+08:00] devmapper: Usage of loopback devices is strongly discouraged for production use. Please use --storage-opt dm.thinpooldev or use man dockerd to refer to dm.thinpooldev section.
INFO[2020-05-06T21:52:44.055948637+08:00] devmapper: Creating filesystem xfs on device docker-253:1-68711890-base, mkfs args: [-m crc=0,finobt=0 /dev/mapper/docker-253:1-68711890-base]
INFO[2020-05-06T21:52:44.056616713+08:00] devmapper: Error while creating filesystem xfs on device docker-253:1-68711890-base: exit status 1
Error starting daemon: error initializing graphdriver: exit status 1

这里报错是因为系统 xfsprogs 版本过低造成的,更新一下即可

yum install xfsprogs

再次启动,我遇到的问题就已经解决了。