docker snap: Cannot connect to the Docker daemon. Is the docker daemon running on this host?
I added the docker snap package to my Ubuntu 16.04 machine
sudo snap install docker
Now, when I try to use it, I get the following error...
Cannot connect to the Docker daemon. Is the docker daemon running on this host?
Solution 1:
Due to confinement issues in the evolving snappy model, Docker is not full flavored by default (see the discussion on the Snapcraft forum).
To get some helpful instructions on how to work around (i.e. break) the confinement model until the proper fix is in place. You can simply check the Docker help application packaged in the snap.
$ docker.help
Docker snap: Docker Linux container runtime.
Due to the confinement issues on snappy, it requires some manual setup to make docker-snap works on your machine.
We'll take you through the steps needed to set up docker snap work for you on ubuntu core and ubuntu classic.
On Ubuntu classic, before installing the docker snap,
please run the following command to add the login user into docker group.
sudo addgroup --system docker
sudo adduser $USER docker
newgrp docker
On Ubuntu Core 16, after installing the docker snap from store,
Firstly, you need to connect the two interfaces as they're not auto-connected by default.
sudo snap connect docker:account-control :account-control
sudo snap connect docker:home :home
Secondly, reload the snap and allows the user to login to the new group "docker-snap".
snap disable docker
snap enable docker
newgrp docker-snap
Then have fun with docker in snappy.
The last command fails...
$ newgrp docker-snap
newgrp: group 'docker-snap' does not exist
However, I did not notice any negative impact based on the failure, and Docker now functions as I would expect.
Solution 2:
Use snap start docker
to activate the service. It might need root permissions.