Docker can't connect to docker daemon
Linux
The Post-installation steps for Linux documentation reveals the following steps:
- Create the docker group.
sudo groupadd docker
- Add the user to the docker group.
sudo usermod -aG docker $(whoami)
- Log out and log back in to ensure docker runs with correct permissions.
- 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 dockerdocker-machine env # It's helps to get environment variableseval "$(docker-machine env default)" # Set environment variables
The docker-machine start
command outputs the comments to guide the process.
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
If you are running Docker on OS X, running the following eval has worked for me.
eval "$(docker-machine env default)"
If you'd prefer not to have to run this eval statement on every terminal session, you can add this to your bash_profile
:
#Dockereval "$(docker-machine env default)"
Be sure to restart the terminal session or run source on bash_profile
for the changes to take effect.