Unable to install on Ubuntu (Xenial)

In the field “Select a category…” (when posting this issue) I see “Docker for Mac”, “Docker for Windows”, for AWS, etc. but I don’t see a “Docker for Ubuntu” so I’m posting here. if there’s a better place, please indicate.

I’ve followed the install instructions here:

but docker won’t install. the output below shows the error. what can I do?

ubuntu@x:~$ sudo apt-get install docker-ce
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  bridge-utils containerd runc ubuntu-fan
Use 'sudo apt autoremove' to remove them.
The following NEW packages will be installed:
  docker-ce
0 upgraded, 1 newly installed, 0 to remove and 14 not upgraded.
Need to get 0 B/19.3 MB of archives.
After this operation, 89.0 MB of additional disk space will be used.
Selecting previously unselected package docker-ce.
(Reading database ... 92278 files and directories currently installed.)
Preparing to unpack .../docker-ce_17.03.0~ce-0~ubuntu-xenial_amd64.deb ...
Unpacking docker-ce (17.03.0~ce-0~ubuntu-xenial) ...
Processing triggers for man-db (2.7.5-1) ...
Processing triggers for systemd (229-4ubuntu16) ...
Processing triggers for ureadahead (0.100.0-19) ...
Setting up docker-ce (17.03.0~ce-0~ubuntu-xenial) ...
Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details.
invoke-rc.d: initscript docker, action "start" failed.
dpkg: error processing package docker-ce (--configure):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 docker-ce
E: Sub-process /usr/bin/dpkg returned an error code (1)

here’s the output of the recommended commands (which, frankly, isn’t very useful):

ubuntu@x:~$ systemctl status docker.service
● docker.service - Docker Application Container Engine
   Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: ena
   Active: failed (Result: exit-code) since Sat 2017-03-25 01:18:06 UTC; 1min 9s a
     Docs: https://docs.docker.com
  Process: 21161 ExecStart=/usr/bin/dockerd -H fd:// (code=exited, status=1/FAILUR
 Main PID: 21161 (code=exited, status=1/FAILURE)

Mar 25 01:18:05 ip-10-0-3-113 systemd[1]: Starting Docker Application Container En
Mar 25 01:18:05 ip-10-0-3-113 dockerd[21161]: time="2017-03-25T01:18:05.448740872Z
Mar 25 01:18:06 ip-10-0-3-113 dockerd[21161]: Error starting daemon: error initial
Mar 25 01:18:06 ip-10-0-3-113 systemd[1]: docker.service: Main process exited, cod
Mar 25 01:18:06 ip-10-0-3-113 systemd[1]: Failed to start Docker Application Conta
Mar 25 01:18:06 ip-10-0-3-113 systemd[1]: docker.service: Unit entered failed stat
Mar 25 01:18:06 ip-10-0-3-113 systemd[1]: docker.service: Failed with result 'exit

ubuntu@x:~$ journalctl -xe
-- 
-- Unit acpid.service has finished starting up.
-- 
-- The start-up result is done.
Mar 25 01:18:05 ip-10-0-3-113 systemd[1]: Reloading.
Mar 25 01:18:05 ip-10-0-3-113 systemd[1]: apt-daily.timer: Adding 7h 15min 24.4141
Mar 25 01:18:05 ip-10-0-3-113 systemd[1]: snapd.refresh.timer: Adding 2h 39min 20.
Mar 25 01:18:05 ip-10-0-3-113 systemd[1]: Started ACPI event daemon.
-- Subject: Unit acpid.service has finished start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit acpid.service has finished starting up.
-- 
-- The start-up result is done.
Mar 25 01:18:05 ip-10-0-3-113 systemd[1]: Starting Docker Socket for the API.
-- Subject: Unit docker.socket has begun start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit docker.socket has begun starting up.
Mar 25 01:18:05 ip-10-0-3-113 systemd[1]: Listening on Docker Socket for the API.
-- Subject: Unit docker.socket has finished start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit docker.socket has finished starting up.
-- 
-- The start-up result is done.
Mar 25 01:18:05 ip-10-0-3-113 systemd[1]: Starting Docker Application Container En
-- Subject: Unit docker.service has begun start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit docker.service has begun starting up.
Mar 25 01:18:05 ip-10-0-3-113 dockerd[21161]: time="2017-03-25T01:18:05.448740872Z
Mar 25 01:18:06 ip-10-0-3-113 dockerd[21161]: Error starting daemon: error initial
Mar 25 01:18:06 ip-10-0-3-113 systemd[1]: docker.service: Main process exited, cod
Mar 25 01:18:06 ip-10-0-3-113 systemd[1]: Failed to start Docker Application Conta
-- Subject: Unit docker.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit docker.service has failed.
-- 
-- The result is failed.
Mar 25 01:18:06 ip-10-0-3-113 systemd[1]: docker.service: Unit entered failed stat
Mar 25 01:18:06 ip-10-0-3-113 systemd[1]: docker.service: Failed with result 'exit
Mar 25 01:18:07 ip-10-0-3-113 sudo[20478]: pam_unix(sudo:session): session closed

it seems to have installed because I can do:

ubuntu@x:~$ docker --version
Docker version 17.03.0-ce, build 3a232c8

but the daemon isn’t running:

ubuntu@x:~$ docker ps
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

ok, recommending systemctl status docker.service is a poor idea as it clips the output because of the terminal. a systemctl status docker.service |cat yielded something more interesting:

Mar 25 02:41:04 ip-10-0-3-113 dockerd[11324]: Error starting daemon: error initializing graphdriver: /var/lib/docker contains several valid graphdrivers: overlay, overlay2; Please cleanup or explicitly choose storage driver (-s )

so it turns out I had 2 storage drivers. no idea why. one was empty, the other contained stuff. I removed one and now it installs cleanly