docker error initializing graphdriver: driver not supported

13,723

Solution 1

I had the same issue when I type dockerd it was showing the error as

INFO[2019-12-03T01:39:44.030124494-05:00] Error while creating filesystem xfs on device docker-253:1-3117512-base: exit status 1  storage-driver=devicemapper
ERRO[2019-12-03T01:39:44.030161517-05:00] [graphdriver] prior storage driver devicemapper failed: exit status 1 
failed to start daemon: error initializing graphdriver: exit status 1

I changed the storage option to ext4 using dockerd --storage-opt dm.fs=ext4 and docker started successfully.

For more storage option use man dockerd.

Solution 2

I had a similar issue when trying to use docker-machine with a CentOS VM. Turns out docker-machine copies over a file called 10-machine.conf to:

/etc/systemd/system/docker.service.d/10-machine.conf

In this file dockerd is passed --storage-driver=overlay2. When I removed this option, docker would start without issues.

To make a semi-permanent fix, I created a new file:

/etc/systemd/system/docker.service.d/20-machine.conf

where I removed the --storage-driver=overlay2 option. Docker-machine would then create properly the environment.

What is strange is that my docker engine was indeed using overlay2 if I ran docker info.

Share:
13,723
Sredny M Casanova
Author by

Sredny M Casanova

Student of Informatic Engineering at UNET (Universidad Nacional Experimental del Táchira)

Updated on July 26, 2022

Comments

  • Sredny M Casanova
    Sredny M Casanova almost 2 years

    I am having problems to execute an older version of docker in a CentOS 7 VM. I installed docker Docker version 17.09.1-ce because its the version that I need, I need to run some software over it and the latest version Docker version 17.12.1-ce is not compatible with that, so I need to install and older version.

    However, I installed docker as described in docker and it seems like it did it well, however when I go to run the hello world image I get:

    docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?.
    

    So, then I did:

    dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
    

    And then I get this error:

    WARN[2018-03-04T19:32:51.374105228Z] [!] DON'T BIND ON ANY IP ADDRESS WITHOUT setting --tlsverify IF YOU DON'T KNOW WHAT YOU'RE DOING [!] 
    INFO[2018-03-04T19:32:51.404324386Z] libcontainerd: new containerd process, pid: 14728 
    WARN[0000] containerd: low RLIMIT_NOFILE changing to max  current=1024 max=4096
    ERRO[2018-03-04T19:32:52.452025257Z] [graphdriver] prior storage driver overlay2 failed: driver not supported 
    Error starting daemon: error initializing graphdriver: driver not supported
    

    What is that? and what should I do in order to be able to execute the docker daemon but still with my installed docker version?