1. 程式人生 > >docker.service啟動報錯的一次排查

docker.service啟動報錯的一次排查

執行以下命令報錯

systemctl restart docker

檢視錯誤資訊

systemctl status docker -l

報錯資訊如下:

● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
  Drop-In: /etc/systemd/system/docker.service.d
           └─kolla.conf
   Active: failed (Result: exit-code) since 三 2018
-08-01 16:32:27 CST; 52min ago Docs: https://docs.docker.com Process: 3833722 ExecStart=/usr/bin/docker daemon --insecure-registry 172.16.59.153 (code=exited, status=1/FAILURE) Main PID: 3833722 (code=exited, status=1/FAILURE) Memory: 8.0K CGroup: /system.slice/docker.service 801 16:32:26 czwei004 systemd[1
]: Starting Docker Application Container Engine... 801 16:32:26 czwei004 docker[3833722]: time="2018-08-01T16:32:26.527063936+08:00" level=info msg="libcontainerd: new containerd process, pid: 3833733" 801 16:32:27 czwei004 docker[3833722]: time="2018-08-01T16:32:27.532317497+08:00" level=warning msg="devmapper: Usage of loopback devices is strongly discouraged for production use. Please use `--storage-opt dm.thinpooldev` or use `man docker` to refer to dm.thinpooldev section."
801 16:32:27 czwei004 docker[3833722]: time="2018-08-01T16:32:27.560010414+08:00" level=warning msg="devmapper: Base device already exists and has filesystem xfs on it. User specified filesystem will be ignored." 801 16:32:27 czwei004 docker[3833722]: time="2018-08-01T16:32:27.577758251+08:00" level=fatal msg="Error starting daemon: error initializing graphdriver: \"/var/lib/docker\" contains several valid graphdrivers: devicemapper, overlay2; Please cleanup or explicitly choose storage driver (-s <DRIVER>)" 801 16:32:27 czwei004 systemd[1]: docker.service: main process exited, code=exited, status=1/FAILURE 801 16:32:27 czwei004 systemd[1]: Failed to start Docker Application Container Engine. 801 16:32:27 czwei004 systemd[1]: Unit docker.service entered failed state. 801 16:32:27 czwei004 systemd[1]: docker.service failed.

注意到以上錯誤資訊中

msg="Error starting daemon: error initializing graphdriver: \"/var/lib/docker\" contains several valid graphdrivers: devicemapper, overlay2; Please cleanup or explicitly choose storage driver (-s <DRIVER>)"

到docker目錄下檢視,有devicemapper的目錄和overlay2的目錄
原因是我之前裝了高版本的docker-engine,預設的儲存驅動是overlay2,解除安裝的時候docker目錄下殘留了overlay2的資料夾,後來安裝了低版本的docker,預設的又是devicemapper,於是就有了多個儲存驅動

重啟機器後刪除overlay2的目錄後可以啟動