Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Docker can't connect to docker daemon

Tags:

linux

docker

After I update my Docker version to 0.8.0, I get an error message while entering sudo docker version:

Client version: 0.8.0 Go version (client): go1.2 Git commit (client): cc3a8c8 2014/02/19 12:54:16 Can't connect to docker daemon. Is 'docker -d' running on this host? 

And I've followed the instructions and entered command sudo docker -d, and I got this:

[/var/lib/docker|2462000b] +job initserver() [/var/lib/docker|2462000b.initserver()] Creating server open /var/lib/docker/aufs/layers/cf2414da53f9bcfaa48bc3d58360d7f1cfd3784e4fe51fbef95197709dfc285d: no such file or directory[/var/lib/docker|2462000b] -job initserver() = ERR (1) 2014/02/19 12:55:57 initserver: open /var/lib/docker/aufs/layers/cf2414da53f9bcfaa48bc3d58360d7f1cfd3784e4fe51fbef95197709dfc285d: no such file or directory 

How do I solve the problem?

like image 369
LiJung Avatar asked Feb 19 '14 05:02

LiJung


People also ask

Why is my docker daemon not running?

Conclusion. The Docker daemon is a backend service of Docker that controls the Docker container. To resolve the Docker daemon is not running error, you first need to verify if the service of Docker Desktop is running or not. If the service is running then update the WSL package.

How do I fix docker got permission denied while trying to connect to the docker daemon socket?

Fix 1: Run all the docker commands with sudo If you have sudo access on your system, you may run each docker command with sudo and you won't see this 'Got permission denied while trying to connect to the Docker daemon socket' anymore.


2 Answers

Linux

The Post-installation steps for Linux documentation reveals the following steps:

  1. Create the docker group.
     sudo groupadd docker
  2. Add the user to the docker group.
     sudo usermod -aG docker $(whoami)
  3. Log out and log back in to ensure docker runs with correct permissions.
  4. Start docker.
     sudo service docker start

Mac OS X

As Dayel Ostraco says is necessary to add environments variables:

docker-machine start # Start virtual machine for docker docker-machine env  # It's helps to get environment variables eval "$(docker-machine env default)" # Set environment variables 

The docker-machine start command outputs the comments to guide the process.

like image 52
molavec Avatar answered Sep 21 '22 03:09

molavec


Linux

To run docker daemon on Linux (from CLI), run:

$ sudo service docker start # Ubuntu/Debian 

Note: Skip the $ character when copy and pasting.

On RedHat/CentOS, run: sudo systemctl start docker.

To initialize the "base" filesystem, run:

$ sudo service docker stop $ sudo rm -rf /var/lib/docker $ sudo service docker start 

or manually like:

$ sudo docker -d --storage-opt dm.basesize=20G 

Install docker-machine on Linux

To install machine binaries on Linux:

  • locally:

    install -vm755 <(curl -L https://github.com/docker/machine/releases/download/v0.5.3/docker-machine_linux-amd64) $HOME/bin/docker-machine 
  • global:

    sudo bash -c 'install -vm755 <(curl -L https://github.com/docker/machine/releases/download/v0.5.3/docker-machine_linux-amd64) /usr/local/bin/docker-machine' 

macOS

On macOS the docker binary is only a client and you cannot use it to run the docker daemon, because Docker daemon uses Linux-specific kernel features, therefore you can’t run Docker natively in OS X. So you have to install docker-machine in order to create VM and attach to it.

Install docker-machine on macOS

If you don't have docker-machine command yet, install it by using one of the following methods:

  • Using Brew command: brew install docker-machine docker.
  • manually from GitHub:

    install -v <(curl https://github.com/docker/machine/releases/download/v0.5.3/docker-machine_linux-amd64) /usr/local/bin/docker-machine 

See: Get started with Docker for Mac.

Configure docker-machine on macOS

To start Docker Machine via Homebrew, run:

brew services start docker-machine 

To create a default machine (if you don't have one, see: docker-machine ls):

docker-machine create --driver virtualbox default 

Then set-up the environment for the Docker client:

eval "$(docker-machine env default)" 

Then double-check by listing containers:

docker ps 

See: Get started with Docker Machine and a local VM.


Install Docker.app on macOS

Alternatively to above solution, you can install a Docker app by:

brew cask install docker 

Check this post for more details. See also: Cannot connect to the Docker daemon on macOS

like image 42
kenorb Avatar answered Sep 19 '22 03:09

kenorb