Error starting daemon: error initializing graphdriver: overlay

Hi,

I was upgrading docker from 1.12 to docker-ce (18.06.1). I followed the documentaion https://docs.docker.com/install/linux/docker-ce/centos/

  1. When i start the docker, it’s starting with ‘devicemapper’ storage driver rather than ‘overlay2’. (In previous
    docker (1.12) i was using ‘overlay’ as a storage driver). I have checked daemon.json, docker.service, docker- storage files, but nowhere it is specified to use ‘devicemapper’. Where else it could be configured?

  2. I tried to explicitly specify ‘overlay’ as a storage driver, but when i did that, docker isn’t starting with following
    error:

Jan 08 23:23:53 xxx dockerd[2306]: Error starting daemon: error initializing graphdriver: overlay2: the backing xfs filesystem is formatted without d_type support, which leads to incorrect behavior. Reformat the filesystem with ftype=1 to enable d_type support. Backing filesystems without d_type support are not supported.
Jan 08 23:23:53 xxx systemd[1]: docker.service: main process exited, code=exited, status=1/FAILURE
Jan 08 23:23:53 xxx systemd[1]: Failed to start Docker Application Container Engine.
-- Subject: Unit docker.service has failed

I guess this should have been just a warning rather than an error.

Any help would be much appreciated!

Thanks,

quite easy: since your filesystem does not provide the required support for the d_type flag, the overlay2 driver can not be used. As a fallback the devicemapper is used.

This even happens on systems, where the devicemapper is officialy not supported :wink:

Follow this guide to move the content of the data dir to the new location:

1 Like