Unable to start Docker Service in Ubuntu 16.04 Unable to start Docker Service in Ubuntu 16.04 linux linux

Unable to start Docker Service in Ubuntu 16.04


Update

It seems that in newer versions of docker and Ubuntu the unit file for docker is simply masked (pointing to /dev/null).
You can verify it by running the following commands in the terminal:

sudo file /lib/systemd/system/docker.servicesudo file /lib/systemd/system/docker.socket

You should see that the unit file symlinks to /dev/null.
In this case, all you have to do is follow S34N's suggestion, and run:

sudo systemctl unmask docker.servicesudo systemctl unmask docker.socketsudo systemctl start docker.servicesudo systemctl status docker

I'll also keep the original post, that answers the error log stating that the storage driver should be replaced:

Original Post

I had the same problem, and I tried fixing it with Salva Cort's suggestion, but printing /etc/default/docker says:

# THIS FILE DOES NOT APPLY TO SYSTEMD

So here's a permanent fix that works for systemd (Ubuntu 15.04 and higher):

  1. create a new file /etc/systemd/system/docker.service.d/overlay.conf with the following content:

    [Service]ExecStart=ExecStart=/usr/bin/docker daemon -H fd:// -s overlay
  2. flush changes by executing:

    sudo systemctl daemon-reload
  3. verify that the configuration has been loaded:

    systemctl show --property=ExecStart docker
  4. restart docker:

    sudo systemctl restart docker


The following unmasking commands worked for me (Ubuntu 18). Hope it helps someone out there... :-)

sudo systemctl unmask docker.servicesudo systemctl unmask docker.socketsudo systemctl start docker.service


I had the same problem after upgrade docker from 17.05-ce to 17.06-ce via docker-machine

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

    replace

    `docker daemon` => `dockerd`

    example from

    [Service]ExecStart=ExecStart=/usr/bin/docker deamon -H tcp://0.0.0.0:2376 -H unix:///var/run/docker.sock --storage-driver aufs --tlsverify --tlscacert /etc/docker/ca.pem --tlscert /etc/docker/server.pem --tlskey /etc/docker/server-key.pem --label provider=genericEnvironment=

    to

    [Service]ExecStart=ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2376 -H unix:///var/run/docker.sock --storage-driver aufs --tlsverify --tlscacert /etc/docker/ca.pem --tlscert /etc/docker/server.pem --tlskey /etc/docker/server-key.pem --label provider=genericEnvironment=
  2. flush changes by executing:

    sudo systemctl daemon-reload
  3. restart docker:

    sudo systemctl restart docker